ZJUT1266大菲波数

    技术2025-09-10  37

    Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1266

     

    写了一个大数加,一次AC。

     

    但是时间上感觉没有优势。对比了别人的,感觉有点远。

     

    不知道是不是细节处理的问题。

     

    求优化。

     

    以下贴代码:

     #include <iostream>using namespace std;char fp[1001][250];void add(int a, int b, int c){ int p=0; int i,d; for (i=0; fp[c][i]!='/0'; i++) {  d = fp[c][i]-'0'+fp[b][i]-'0'+p;  if (d>9)  {   fp[a][i] = '0' + d - 10;   p = 1;  }  else  {   fp[a][i] = '0' + d;   p = 0;  } } for (;fp[b][i]!='/0'; i++) {  d = fp[b][i]-'0'+p;  if (d>9)  {   fp[a][i] = '0' + d - 10;   p = 1;  }  else  {   fp[a][i] = '0' + d;   p = 0;  } } if (p==1) {  fp[a][i] = '1'; } fp[a][i+1]='/0';}int main(){ fp[0][0]='0'; fp[0][1]='/0'; fp[1][0]='1'; fp[1][1]='/0'; int n,i,ct=1; scanf("%d", &n); while(scanf("%d", &n)!=EOF) {  if (n>ct)  {   for (i=ct+1; i<=n; i++)   {    add(i,i-1,i-2);   }  }  for (i=strlen(fp[n])-1; i>=0; i--) printf("%c", fp[n][i]);  printf("/n"); } return 0;}

    这个编辑器……代码不成样子= =

    最新回复(0)