HDU 1002 A + B Problem II 大整数加法
2018-03-28 20:19
393 查看
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=1002题意:
每次给出两个不超过1000位打整数,求和思路:
模拟大整数加法。先倒置两个数组对齐,然后模拟加法就好了代码:
#include <bits/stdc++.h> using namespace std; const int N = 1000 + 10; //num1,num2储存加数,sum储存其和 void add(char *num1, char *num2, char *sum) { int len1 = strlen(num1), len2 = strlen(num2); reverse(num1, num1 + len1); reverse(num2, num2 + len2); int len = 0; int carry = 0; for(int i = 0; i < len1 || i < len2; ++i) { carry += i < len1 ? num1[i]-'0' : 0; carry += i < len2 ? num2[i]-'0' : 0; sum[len++] = carry%10 + '0'; carry /= 10; } if(carry) sum[len++] = carry + '0'; sum[len] = '\0'; reverse(num1, num1 + len1); reverse(num2, num2 + len2); reverse(sum, sum + len); } int main() { char num1 , num2 , sum ; int t, cas = 0; scanf("%d", &t); while(t--) { scanf("%s%s", num1, num2); add(num1, num2, sum); printf("Case %d:\n", ++cas); printf("%s + %s = %s\n", num1, num2, sum); if(t) puts(""); } return 0; }
相关文章推荐
- Hdu 1002 A + B Problem II(大整数加法)
- HDOJ1002 A+B Problem II(高精度/大整数加法)
- HDU 1002 A + B Problem II (Java 之大整数)
- hdu 1002 A + B Problem II(大数模拟加法)
- HDU 1002 A + B Problem II (大数加法)
- HDU 1002 A + B Problem II 高精度加法程序 覆盖大量字符串处理基础 详细注释
- hdu 1002 A + B Problem II(大正整数相加)
- hdu 1002 A + B Problem II(大正整数相加)
- hdu 1002 A + B Problem II(大数模拟加法)
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- HDU 1002 A + B Problem II(大数加法,C,Java两个版本)
- A + B Problem II(hdu1002,大数加法)
- 大整数加法 1002 A + B Problem II
- hdu1002 A + B Problem II(大数加法一)模板
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
- HDU 1002 A + B Problem II(大数相加)
- HDU 1002 A + B Problem II
- A + B Problem II &&http://acm.hdu.edu.cn/showproblem.php?pid=1002
- HDU 1002-A + B Problem II(大数类)
- hdu1002-A + B Problem II