SDUTOJ 2613 This is an A+B Problem——大数模拟
发布时间:2020-12-14 03:31:26 所属栏目:大数据 来源:网络整理
导读:?? This is an A+B Problem Time Limit: 1000ms?? Memory limit: 65536K??有疑问?点这里^_^ 题目描述 As usual,there will be? an A+B ?problem in warming up ,this problem is: Given two integers A and B,your job is to calculate the sum of A + B.
?? This is an A+B ProblemTime Limit: 1000ms?? Memory limit: 65536K??有疑问?点这里^_^题目描述
As usual,there will be?an A+B?problem in warming up,this problem is:
Given two integers A and B,your job is to calculate the sum of A + B. 输入
?Th
ere are several test cases,For each test case:
There are two integers A,B for each case (0?≤?A,B < 101000). 输出
?For each test case,output one line containing the result of A+B.?
示例输入1 2
22222222221 22222222221
示例输出3
22222222222
提示大数模拟:
#include <stdio.h> #include <stdlib.h> #include <string.h> char s1[1100]; char s2[1100]; int ls[1110]; int main() { int l1,l2,i,j,y,a,b; memset(s1,' ',sizeof(s1)); memset(s2,sizeof(s2)); memset(ls,sizeof(ls)); while(~scanf("%s%s",s1,s2)) { l1=strlen(s1); l2=strlen(s2); if(l1==1&&s1[0]=='0'&&l2==1&&s2[0]=='0') { printf("0n"); continue; } //处理0+0=0的情况 y=0; for(i=l1-1,j=l2-1; i>=0||j>=0; i--,j--) { if(i>=0) { a=s1[i]-'0'; } else { a=0; } if(j>=0) { b=s2[j]-'0'; } else { b=0; } ls[y++]=a+b; } for(i=0; i<y; i++) { ls[i+1]+=(ls[i]/10); ls[i]%=10; } i=y; while(ls[i]==0) { i--; } for(; i>=0; i--) { printf("%d",ls[i]); } printf("n"); memset(s1,sizeof(s1)); memset(s2,sizeof(s2)); memset(ls,sizeof(ls)); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |