hdu2100Lovekey
发布时间:2020-12-14 04:03:12 所属栏目:大数据 来源:网络整理
导读:1.题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2100 ? 2.说明: ????? 两个大数相加的另类题目。 ? 3.参考代码: ? #include stdio.h#include string.hint main(){char str1[1000],str2[1000];int a[1000],b[1000],c[2000];int i,j,k,flag;char c
1.题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2100 ? 2.说明: ????? 两个大数相加的另类题目。 ? 3.参考代码: ? #include <stdio.h> #include <string.h> int main() { char str1[1000],str2[1000]; int a[1000],b[1000],c[2000]; int i,j,k,flag; char ch; int l1,l2,maxlen; while(~scanf("%s %s",str1,str2)) { memset(a,sizeof(a)); ///初始化 memset(b,sizeof(b)); memset(c,sizeof(c)); l1=strlen(str1); l2=strlen(str2); maxlen=l1>l2?l1:l2; ///取最大的长度 flag=0; k=0; for(i=l1-1;i>=0;i--) ///记得逆序 a[k++]=str1[i]-65; k=0; for(i=l2-1;i>=0;i--) ///记得逆序 b[k++]=str2[i]-65; for(i=0;i<maxlen;i++) { c[i]+=(a[i]+b[i]); ///相加 if(c[i]>25) ///进位思想 { c[i+1]++; c[i]%=26; } } i=2000; while(i--) { if(c[i]) break; } for(;i>=0;i--) { for(j=0;j<=25;j++) { if(c[i]==j) { flag=1; ch=j+65; printf("%c",ch); } } } if(flag==0) ///如果2个全是A,则结果为一个A printf("A"); printf("n"); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |