F1,F4,F5:字符串
#include<bits/stdc++.h>
using namespace std;
const int mx=1000;
int a[mx],b[mx],c[mx*2];
string s1,s2;
int main()
{
int x,p;
cin>>s1>>s2;
int l1=s1.size();
int l2=s2.size();
for(int i=0;i<l1;i++) a[i]=s1[l1-i-1]-'0';
for(int j=0;j<l2;j++) b[j]=s2[l2-j-1]-'0';
for(int i=0;i<l1;i++)
for(int j=0;j<l2;j++)
c[i+j]+=a[i]*b[j];
p=mx-1;
for(int p=0;p<mx-1;p++){
x=c[p];
c[p]=x%10;
c[p+1]+=x/10;
}
while(c[p]==0&&p>0) p--;
for(;p>=0;p--) cout<<c[p];
}
#include<bits/stdc++.h>
using namespace std;
const int mx=10000010;
string a1,b1;
int a[mx],b[mx],c[mx],la,lb,lc,i,j=0;
int main()
{
cin>>a1>>b1;
la=a1.size();
lb=b1.size();
for(i=0;i<la;i++) a[la-i]=a1[i]-'0';
for(i=0;i<lb;i++) b[lb-i]=b1[i]-'0';
lc=1;
while(lc<=la||lc<=lb){
c[lc]=a[lc]+b[lc]+j;
j=c[lc]/10;
c[lc]%=10;
lc++;
}
c[lc]=j;
if(c[lc]==0)
lc--;
for(i=lc;i>0;i--)
cout<<c[i];
return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
char n1[100],n2[100];
ll m1[100],m2[100],sum[1000];
ll l1,l2,l3=1;
ll c = 0;
memset(n1, 0, sizeof(n1));
memset(m1, 0, sizeof(m1));
memset(n2, 0, sizeof(n2));
memset(m2, 0, sizeof(m2));
memset(sum, 0, sizeof(sum));
cin >> n1>>n2;
l1= strlen(n1);
l2 = strlen(n2);
for (int i = 0; i < l1; i++) {
m1[l1 - i] = n1[i]-'0';
}
for (int i = 0; i < l2; i++) {
m2[l2 - i] = n2[i] - '0';
}
while (l3 <= l1 || l3 <= l2) {
sum[l3] = m1[l3] + m2[l3]+c;
c = sum[l3] / 10;
sum[l3] %= 10;
l3++;
}
sum[l3] = c;
if (sum[l3] == 0) {
l3--;
}
for (int i = l3; i >= 1; i--) {
cout<<sum[i];
}
return 0;
}
F2:字符串简洁
#include <bits/stdc++.h>
using namespace std;
string s1,s2,s3;
int i,p,x;
int main()
{
cin>>s1>>s2;
int l1=s1.size();
int l2=s2.size();
for(i=1;i<=l1-l2;i++) s2="0"+s2;
for(i=1;i<=l2-l1;i++) s1="0"+s1;
int l3=s1.size();
int j=0;
s3="";
for(p=l3-1;p>=0;p--)
{
int x1=s1[p]-'0';
int x2=s2[p]-'0';
int x3=x1+x2+j;
j=x3/10;
s3=char(x3+'0')+s3;
}
if(j==1) s3="1"+s3;
cout<<s3;
return 0;
}
F3:字符
#include <iostream>
#include <cstring>
using namespace std;
char a[1001],b[1001];
int aa[1001],bb[1001],ans[1001];
int main()
{
cin>>a>>b;
int la=strlen(a),lb=strlen(b);
for(int i=0;i<la;i++)aa[i]=a[la-i-1]-'0';
for(int i=0;i<lb;i++)bb[i]=b[lb-i-1]-'0';
int lan=max(la,lb);
int t=0;
for(int i=0;i<=lan;i++)
{
ans[i]=aa[i]+bb[i]+t;
t=ans[i]/10,ans[i]%=10;
}
while(ans[lan]==0)lan--;
for(int i=lan;i>=0;i--)cout<<ans[i];
return 0;
}
F4: