A+B问题II
发布时间:2020-12-14 03:41:03 所属栏目:大数据 来源:网络整理
导读:A+B Problem II 时间限制: 3000 ?ms ?|? 内存限制: 65535 ?KB 难度: 3 描述 ?计算两个数的和!(要求能计算1000位以内的数的和) 样例输入 112233445566778899 998877665544332211 样例输出 2222222222222221110 简单说:就是大数相加! 代码: /**问题描
A+B Problem II
时间限制:
3000?ms ?|? 内存限制:
65535?KB
难度:
3
简单说:就是大数相加! 代码: /* *问题描述:A+B 问题 *运行环境:Dev-C++ 4.9.9.2 *作者: 牟尼 *日期: 2014/3/17 */ #include <cstdio> #include <cstring> #include <iostream> using namespace std; #define MAX 1005 int a[MAX],b[MAX]; int main() { char s1[MAX],s2[MAX]; int res[MAX]; int i,j,len1,len2; scanf("%s%s",s1,s2); len1 = strlen(s1); len2 = strlen(s2); memset(a,sizeof(a)); memset(b,sizeof(b)); memset(res,sizeof(res)); for(i = len1-1,j = 0; i >= 0; --i) //存入整型数组 a[j++] = s1[i] - '0'; for(i = len2-1,j = 0; i >= 0; --i) b[j++] = s2[i] - '0'; int t = 0; int len = len1 > len2?len1:len2; for(i = 0; i < len; ++i) //累加求和 { res[i] = t+a[i]+b[i]; t = res[i]/10; res[i] %= 10; } len = len + 2; while(len > 0 && res[len] == 0) //确定和的长度 len--; for(i = len; i >= 0; --i) { printf("%d",res[i]); } // system("PAUSE"); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |