A+B Problem(高精)
题目描述
高精度加法,相当于 a+b problem,不用考虑负数。
输入格式
分两行输入。a,b≤10500。
输出格式
输出只有一行,代表 a+b 的值。
样例 #1
样例输入 #1
样例输出 #1
样例 #2
样例输入 #2
样例输出 #2
样例 #3
样例输入 #3
| 11111111111111111111111111 |
| 9999999999999999999999999999999999 |
样例输出 #3
| 10000000011111111111111111111111110 |
题解
思路
1.数据读取
2.进位相加
3.倒序输出
C代码
| #include <stdio.h> |
| #include <string.h> |
| |
| int main() { |
| char left[505], right[505], ans[505]; |
| scanf("%s %s", left, right); |
| int len_left = strlen(left), len_right = strlen(right); |
| |
| |
| for (int i = 0; i <= len_left - 1; i++) |
| left[i] = left[i] - '0'; |
| for (int i = 0; i <= len_right - 1; i++) |
| right[i] = right[i] - '0'; |
| |
| int ptr_ans = 0, ptr_left = len_left - 1, ptr_right = len_right - 1; |
| int plus_ten = 0; |
| |
| |
| while (ptr_left >= 0 && ptr_right >= 0) { |
| ans[ptr_ans] = left[ptr_left] + right[ptr_right] + plus_ten; |
| plus_ten = ans[ptr_ans] / 10; |
| ans[ptr_ans] = ans[ptr_ans] % 10; |
| ptr_ans++; |
| ptr_left--; |
| ptr_right--; |
| } |
| |
| |
| while (ptr_left >= 0) { |
| ans[ptr_ans] = left[ptr_left] + plus_ten; |
| plus_ten = ans[ptr_ans] / 10; |
| ans[ptr_ans] = ans[ptr_ans] % 10; |
| ptr_ans++; |
| ptr_left--; |
| } |
| while (ptr_right >= 0) { |
| ans[ptr_ans] = right[ptr_right] + plus_ten; |
| plus_ten = ans[ptr_ans] / 10; |
| ans[ptr_ans] = ans[ptr_ans] % 10; |
| ptr_ans++; |
| ptr_right--; |
| } |
| |
| |
| if (plus_ten) |
| printf("%d", plus_ten); |
| |
| |
| for (int i = ptr_ans - 1; i >= 0; i--) |
| printf("%d", ans[i]); |
| |
| return 0; |
| } |
通过详情

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本