河南省之6 最强DE 战斗力
1 #include<stdio.h> 2 #include<string.h> 3 int a[1000]; 4 5 void fun(int n) 6 { 7 int i,t,v; 8 v=0; 9 for(i=0;i<1000;i++) 10 { 11 t=a[i]*n+v; 12 a[i]=t%10; 13 v=t/10; 14 } 15 } 16 17 int main() 18 { 19 int i,j,n,m; 20 scanf("%d",&n); 21 while(n--) 22 { 23 scanf("%d",&m); 24 if(m<=4) 25 printf("%d\n",m); 26 else 27 { 28 memset(a,0,sizeof(a)); 29 a[0]=1; 30 while(m-3>1||m-3==0) 31 { 32 fun(3); 33 m-=3; 34 } 35 while(m-2>=0) 36 { 37 fun(2); 38 m-=2; 39 } 40 for(i=999;i>=0;i--) 41 if(a[i]) break; 42 for(j=i;j>=0;j--) 43 printf("%d",a[j]); 44 printf("\n"); 45 } 46 } 47 return 0; 48 }