1168 大整数加法

题目链接: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 }

结果。。。

我的天。。看我都干了点什么

 

结论:有很多算法,看起来简单,刷起来有很多细节要注意,所以竞赛过程中尽量避免出现眼高手低的情况。。。。

 

转载于:https://www.cnblogs.com/tflsnoi/p/8064721.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值