yinjunjie2012 @ 2024-08-23 09:35:02
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[100010],b[100010];
cin>>a>>b;
int a1[100010],b1[100010],la=strlen(a),lb=strlen(b);
for(int i=0;i<la;i++)a1[i]=a[la-i-1]-48;
for(int i=0;i<lb;i++)b1[i]=b[lb-i-1]-48;
int c1[100010],lc=max(la,lb)+1;
int x=0;
for(int i=0;i<lc;i++){
c1[i]=a1[i]+b1[i]+x;
x=c1[i]/10;
c1[i]%=10;
}
int flag=0;
for(int i=lc;i>=0;i--){
if(flag==0 and c1[i]==0){
continue;
}
if(flag==0 and c1[i]!=0){
cout<<c1[i];
flag=1;
}
else{
cout<<c1[i];
}
}
return 0;
}
by yinjunjie2012 @ 2024-08-23 09:37:21
样例过了
by dream_dad @ 2024-08-23 09:37:36
#include<bits/stdc++.h>
using namespace std;
int a[20005],b[20005],c[400000010];
string gjd(string s,string s1)
{
int len=s.size(),len1=s1.size(),len2=len+len1;
string ans="";
for(int i=1;i<=len;i++)a[i]=s[len-i]-'0';
for(int i=1;i<=len1;i++)b[i]=s1[len1-i]-'0';
for(int i=1;i<=len;i++)
for(int j=1;j<=len1;j++)
{
c[i+j-1]+=a[i]*b[j];
if(c[i+j-1]>=10)
{
c[i+j]+=c[i+j-1]/10;
c[i+j-1]=c[i+j-1]%10;
}
}
while(c[len2]==0&&len2>0)len2--;
for(int i=len2;i>=1;i--)ans+=c[i]+'0';
return ans;
}
int main()
{
string s,s1;
cin>>s>>s1;
cout<<gjd(s,s1);
return 0;
}
by yinjunjie2012 @ 2024-08-23 09:38:32
@dream_dad 感谢大佬
by yinjunjie2012 @ 2024-08-23 09:40:48
@dream_dad 不对呀,我试了一下10和90是900啊?
by dream_dad @ 2024-08-23 09:41:55
给错了
by shiyilang0910 @ 2024-08-23 09:42:03
@yinjunjie2012 如果输入0 0,将无输出,应该是flag后面出现了bug
by dream_dad @ 2024-08-23 09:42:32
#include<bits/stdc++.h>
using namespace std;
int a[1000],b[1000],c[1000];
string hjd(string s,string s1)
{
string ans="";
int len=s.size(),len1=s1.size(),len2;
for(int i=1;i<=len;i++)a[i]=s[len-i]-'0';
for(int i=1;i<=len1;i++)b[i]=s1[len1-i]-'0';
len2=max(len,len1);
for(int i=1;i<=len2;i++)
{
c[i]+=a[i]+b[i];
if(c[i]>=10)
{
c[i+1]=1;
c[i]-=10;
}
}
if(c[len2+1]>0)len2++;
for(int i=len2;i>=1;i--)ans+=c[i]+'0';
return ans;
}
int main()
{
string s,s1;
cin>>s>>s1;
cout<<hjd(s,s1);
return 0;
}
by yinjunjie2012 @ 2024-08-23 09:44:31
谢谢各位大佬
by lxu111 @ 2024-08-27 14:19:27
不用这么复杂吧。。。
long long a,b;
cin>>a>>b;
cout<<a+b;
这样不就好了吗?
by zhangkaishuo666 @ 2024-08-27 18:58:02
其实这个数据量特别小你直接用a+b就行了别问我怎么知到的,问就是试出来的嘿嘿QAQ。