九度题目1198:a+b
来源:互联网 发布:淘宝客服表情包下载 编辑:程序博客网 时间:2024/06/04 19:47
- 题目描述:
实现一个加法器,使其能够输出a+b的值。
- 输入:
输入包括两个数a和b,其中a和b的位数不超过1000位。
- 输出:
可能有多组测试数据,对于每组数据,
输出a+b的值。
- 样例输入:
2 610000000000000000000 10000000000000000000000000000000
- 样例输出:
810000000000010000000000000000000
- 来源:
- 2010年华中科技大学计算机研究生机试真题
- 答疑:
解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7921-1-1.html
#include <cstdio>#include <cstring>struct bign{ int d[1005]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char s[]){ bign a; a.len=strlen(s); for(int i=0;i<a.len;i++) a.d[i]=s[a.len-1-i]-'0'; return a;}bign add(bign a,bign b){ bign c; int carry=0; for(int i=0;i<a.len||i<b.len;i++){ int t=a.d[i]+b.d[i]+carry; c.d[c.len++]=t%10; carry=t/10; } if(carry) c.d[c.len++]=carry; return c;}void print(bign a){ for(int i=a.len-1;i>=0;i--) printf("%d",a.d[i]); printf("\n");}int main(){ char s1[1000],s2[1000]; while(scanf("%s%s",s1,s2)==2){ bign a=change(s1); bign b=change(s2); print(add(a,b)); } return 0;}
阅读全文
0 0
- 九度OJ题目1198:a+b
- 题目1198:a+b 九度OJ
- 九度 题目1198:a+b
- 九度题目1198:a+b
- 【LeetCode】Plus One && 【九度】题目1198:a+b
- 九度OJ—题目1198:a+b(高精度计算)
- 【九度OJ】题目1198:a+b 解题报告
- 题目1198:a+b(九度OJ)
- a+b (九度oj 题目60)
- 九度OJ 题目1010:A + B
- 【九度】题目1000:计算a+b
- 【九度】题目1003:A+B
- 九度OJ 题目1003:A+B
- 九度OJ题目1003:A+B
- 九度online:题目1003:A+B
- 九度OJ-题目1010:A + B
- 九度题目1015:还是A+B
- 九度 题目1000:计算a+b
- Jedis连通redis测试
- 兄弟连LinuxStudyNote(4)-给Linux初学者的建议-服务器管理和运维建议(三)服务器注意事项
- 使用指定JDK运行JAVA程序
- Billboard
- java Nio Demo
- 九度题目1198:a+b
- Android-易错点归纳
- struts.xml不用通配符没问题,已改成通配符就报异常
- MAC系统安装Mysql5.7+MySQLWorkbench安装与配置
- 看守(rms模拟7-3)* * (推理)
- arcgis地理数据库之创建sde用户
- STM32之独立看门狗
- 获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS”
- App设计实践——Android篇