比利经常会碰到超大整数的加法运算,而普通的计算器上无法进行。因此他想你帮他写一个程序来计算结果。
标签:#define bsp col 加法 BMI 提交 nbsp pid std
比利经常会碰到超大整数的加法运算,而普通的计算器上无法进行。因此他想你帮他写一个程序来计算结果。
输入数据有多组。首先输入一个整数T,表示有T组输入。
每组输入两个大整数,并用空格隔开。每个整数最多1000位。没有负数输入。
对于每组输入,输出两个整数的和,单独占一行。
2
1 2
112233445566778899 998877665544332211
3
1111111111111111110
#include<iostream> #include<cstring> using namespace std ; #define maxn 1100 int T ; int num1[maxn] , num2[maxn] ; char str1[maxn] , str2[maxn] ; int result[maxn] , total ; int main(){ cin>>T ; while(T--){ total = 0 ; cin>>str1>>str2; memset(num1 , 0 , sizeof(num1)) ; memset(num2 , 0 , sizeof(num2)) ; int len = strlen(str1) ; total = len ; for(int i=0 ; i<len ; i++){ num1[i] = str1[len-i-1] - ‘0‘; } len = strlen(str2) ; total = max(total , len) ; for(int i=0 ; i<len ; i++){ num2[i] = str2[len-i-1] - ‘0‘ ; } //total = max(strlen(str1) , strlen(str2)) ; int cnt = 0 ; for(int i=0 ; i<= total ; i++){ result[i] = (num1[i] + num2[i] + cnt)%10; cnt = (num1[i]+num2[i]+cnt)/10 ; } for(int i=total ; i>=0; i--){ if(result[i] == 0 && i == total) continue ; cout<<result[i] ; } cout<<endl ; } return 0 ; }
标签:#define bsp col 加法 BMI 提交 nbsp pid std
原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/8902252.html