题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1168
2017年12月18日晚22:00函数题全部刷完,偶看到高精度题,想刷一下,本想是一道简单的题,然而,第一次代码25分钟如下:
然而
2017-12-18 22:02:24
同样的结果
2017-12-18 22:49:14
欣喜20分
2017-12-18 23:32:04
仍然20分
2017-12-18 23:38:28
仍然。。。不能绝望。。。
睡觉去。。。。
第二天。。。继续。。看题解。。换思路
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 char ac[300],bc[300]; 6 int a[300],b[300],c[300]; 7 int la,lb,x; 8 int main() 9 { 10 gets(ac);gets(bc); 11 la=strlen(ac);lb=strlen(bc); 12 for(int i=0;i<=la-1;i++)a[la-i]=ac[i]-48;//倒置字符转数字输入整数数组 13 for(int i=0;i<=lb-1;i++)b[lb-i]=bc[i]-48;//倒置字符转数字输入整数数组 14 15 int lc=1; 16 while(lc<=la||lc<=lb) 17 { 18 c[lc]=a[lc]+b[lc]+x; 19 x=c[lc]/10; 20 c[lc]%=10; 21 lc++; 22 } 23 c[lc]=x;//最高位的计算 24 while(c[lc]==0)lc--;//去掉前导0 25 for(int i=lc;i>=1;i--)cout<<c[i]; 26 27 return 0; 28 }
结果。。。
我的天。。看我都干了点什么
结论:有很多算法,看起来简单,刷起来有很多细节要注意,所以竞赛过程中尽量避免出现眼高手低的情况。。。。