hdu1047大数处理
发布时间:2020-12-14 02:46:47 所属栏目:大数据 来源:网络整理
导读:就是多个数相加的和,利用字符串来处理就行了 #includestdio.h#includeclimits#includealgorithm#includestack#includeiostream#includecmath#includeset#includevector#includemap#includequeue#includestring.husing namespace std;const int maxn=1010;ch
就是多个数相加的和,利用字符串来处理就行了 #include<stdio.h> #include<climits> #include<algorithm> #include<stack> #include<iostream> #include<cmath> #include<set> #include<vector> #include<map> #include<queue> #include<string.h> using namespace std; const int maxn=1010; char s[maxn]; int sum[maxn]; int main(void) { int t; scanf("%d",&t); for(int ii=1;ii<=t;ii++) { memset(sum,sizeof(sum)); getchar(); int len=0; int flag=0; while(scanf("%s",s)&&strcmp(s,"0")!=0) { getchar(); flag++; if(strlen(s)>len) len=strlen(s); for(int i=strlen(s)-1,j=0;i>=0;i--,j++) { sum[j]+=s[i]-'0'; } } int c=0; for(int i=0;i<len;i++) { sum[i]+=c; c=(sum[i])/10; sum[i]%=10; } while(c!=0) { sum[len]+=c; c=sum[len]/10; sum[len]%=10; len++; } for(int i=len-1;i>=0;i--) printf("%d",sum[i]); if(flag==0) printf("0"); if(ii!=t) printf("nn"); else printf("n"); } return 0; } /* 4 123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0 */ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |