标签:
1 #include <stdio.h> 2 #include<iostream> 3 #include<cstring> 4 #define N 1001 5 using namespace std; 6 char a[N][N]; 7 int main() 8 { 9 memset(a,‘0‘,sizeof(a)); 10 a[1][0]=‘1‘; 11 a[2][0]=‘2‘; 12 int i,j,d=1; 13 for(i=3;i<N;i++)//i控制行数 14 { 15 d++; //控制列数 16 int c=0,s; //c为进位指数的初值 17 for(j=0;j<=d;j++) //j控制列数的循环 18 { 19 s=a[i-1][j]-‘0‘+a[i-2][j]-‘0‘+c; 20 c=s/10; //满十进位 21 a[i][j]=s%10+‘0‘; //满十的话,将舍位 22 } 23 24 } 25 int t; 26 char s[1000]; 27 scanf("%d",&t); 28 while(t--) 29 { 30 scanf("%s",s); 31 int n=strlen(s); 32 int k=N-1; 33 while(k--) 34 { 35 if(a[n][k]!=‘0‘) break; //反向搜索第一个不为‘0’的字符 36 } 37 for(i=k;i>=0;i--) //从后往前输出 38 printf("%c",a[n][i]); 39 printf("\n"); 40 } 41 return 0; 42 }
标签:
原文地址:http://www.cnblogs.com/awsent/p/4266172.html