NYOJ541 最强DE 战斗力
1 #include<stdio.h> 2 #include<string.h> 3 int s[205]; 4 int multiply(int x){ 5 int i,t; 6 for(t=i=0;i<200;i++,t/=10){ 7 t=s[i]*x+t; 8 s[i]=t%10; 9 } 10 } 11 int main() 12 { 13 int N,i,n,a; 14 scanf("%d",&N); 15 while(N--){ 16 memset(s,0,sizeof(s)); 17 s[0]=1; 18 scanf("%d",&a); 19 n=a/3; 20 if(a%3==1) n--; 21 for(i=0;i<n;i++) 22 multiply(3); 23 if(a%3==1) multiply(4); 24 else if(a%3==2) multiply(2); 25 for(i=200;i>=0;i--) 26 if(s[i]) break; 27 for(;i>0;i--) 28 printf("%d",s[i]); 29 printf("%d\n",s[0]); 30 } 31 return 0; 32 }