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;
}
这个编辑器……代码不成样子= =
本文分享了一种实现大数加法的方法,并成功通过了一次AC。然而,在时间和效率方面仍有待提高。作者请求社区帮助优化代码,特别是关注细节处理的部分。
692

被折叠的 条评论
为什么被折叠?



