PTA乙级 (1074 宇宙无敌加法器 (20分))

Posted jianqiao123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA乙级 (1074 宇宙无敌加法器 (20分))相关的知识,希望对你有一定的参考价值。

1074 宇宙无敌加法器 (20分)

https://pintia.cn/problem-sets/994805260223102976/problems/994805263297527808

第一次提交测试五没过:如果和为0,去0的时候保证要留下一个0(测试点5)

第二次AC:

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <cstring>
 4 #include <string>
 5 #include <algorithm>
 6 #include <cmath>
 7 using namespace std;
 8 int main()
 9 {
10     char chr1[25],chr2[25],chr3[25];
11     int a[25]={0},b[25]={0},c[25]={0},d[25]={0};
12     int len;
13     int i=0,j=0,k=0,s=0;
14     cin>>chr1;
15     cin>>chr2>>chr3;
16     int len1=strlen(chr1);
17     int len2=strlen(chr2);
18     int len3=strlen(chr3);
19     if(len2>len3) len=len2;
20     else len=len3;
21     for(i=len1-1;i>=0;i--)
22     {
23         if(chr1[i]!=0) a[j]=chr1[i]-0;
24         else a[j]=10;
25         j++;
26     }
27     for(i=len2-1;i>=0;i--)
28     {
29         b[k]=chr2[i]-0;
30         k++;
31     }
32     for(i=len3-1;i>=0;i--)
33     {
34         c[s]=chr3[i]-0;
35         s++;
36     }
37     int m=0;
38     for(i=0;i<len;i++)
39     {
40         d[i]=(b[i]+c[i]+m)%a[i];
41         m=(b[i]+c[i]+m)/a[i];
42     }
43     if(m>0) d[i]=m;
44     else i-=1;
45     bool flag=false;
46     s=i;
47     for(;s>0;s--)
48     {
49         if(!d[i]&&!flag)
50         {
51             i--;
52         }
53         else if(d[i]) flag=true;
54     }
55     for(s=i;s>=0;s--) cout<<d[s];
56     cout<<endl;
57     return 0;
58 }

以上是关于PTA乙级 (1074 宇宙无敌加法器 (20分))的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级1074 宇宙无敌加法器 (20 分)

1074 宇宙无敌加法器 (20 分)

1074 宇宙无敌加法器 (20 分)

1074 宇宙无敌加法器 (20 point(s))

1074. 宇宙无敌加法器(20)

PAT 1074. 宇宙无敌加法器