/*
Name: NYOJ--65--另一种阶乘问题
Author: shen_渊
Date: 17/04/17 16:35
Description: 去年刚开始做题时的代码看不下去了,再做,打表呗
*/
#include<iostream>
using namespace std;
int num[22] = {1,2,5,8,23,38,143,248,1193,2138,12533,22928,158063,293198,2320223,4347248,38806673,
73266098,727995173,1382724248};
int main(){
int t;cin>>t;
while(t--){
int a;cin>>a;cout<<num[a-1]<<endl;;
}
return 0;
}
/*打表代码
int main(){
for(int i=1;i<21;++i){
num[i] = 1;
for(int j=1;j<=i;++j){
if(j%2)num[i] *= j;
}
}
for(int i=1;i<21; ++i){
int t = 0;
for(int j=1; j<=i; ++j){
t += num[j];
}
cout<<t<<",";
}
return 0;
}
*/
//曾经的代码2016-07-28 23:16
//#include<stdio.h>
//#include<malloc.h>
//int main(){
// int N,i,j,num,*a,answer = 0;
// scanf("%d",&N);
// while(N--){
// scanf("%d",&num);
// a=(int*)malloc(sizeof(int)*num);
// for(i=0;i<num;i++){
// a[i] = 1;
// for(j=1;j<=i+1;j+=2)a[i] *= j;
// }
// answer = 0;
// for(i=0;i<num;i++)answer += a[i];
// printf("%d\n",answer);
// }
// return 0;
//}
NYOJ--65--另一种阶乘问题
最新推荐文章于 2019-04-28 10:00:07 发布