从我洛谷博客里搬运的,算是补发一下
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
string x,y;
int a[5000000],b[5000000],c[500000],lena,lenb,lenc,jb;
int main()
{
cin>>x>>y;
lena=x.length() ;
lenb=y.length() ;
for(int i=1;i<=lena;++i)
{
a[i]=x[lena-i]-'0';
}
for(int i=1;i<=lenb;++i)
{
b[i]=y[lenb-i]-'0';
}
while(lenc<=lena||lenc<=lenb)
{
c[lenc]=a[lenc]+b[lenc]+jb;
jb=c[lenc]/10;
c[lenc]=c[lenc]%10;
lenc++;
}
c[lenc]=jb;
while(c[lenc]==0&&lenc!=1)
{
lenc--;
}
for(int i=lenc;i>=1;--i)
{
cout<<c[i];
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
string x,y;
int bijiao(string xx,string yy)
{
if(xx.length() < yy.length() )
{
return 1;
}
else if(xx.length() > yy.length() )
{
return 0;
}
else
{
for(int i=0;i<xx.length() ;++i)
{
if(xx[i]>yy[i])
{
return 0;
}
if(xx[i]<yy[i])
{
return 1;
}
}
}
return 0;
}
int a[5000000],b[5000000],c[500000],lena,lenb,lenc=1,jb;
int main()
{
cin>>x>>y;
if(bijiao(x,y))
{
string g=x;
x=y;
y=g;
cout<<"-";
}
lena=x.length() ;
lenb=y.length() ;
for(int i=1;i<=lena;++i)
{
a[i]=x[lena-i]-'0';
}
for(int i=1;i<=lenb;++i)
{
b[i]=y[lenb-i]-'0';
}
while(lenc<=lena||lenc<=lenb)
{
if(a[lenc]<b[lenc])
{
a[lenc]+=10;
a[lenc+1]--;
}
c[lenc]=a[lenc]-b[lenc];
lenc++;
}
while(c[lenc]==0&&lenc!=1)
{
lenc--;
}
for(int i=lenc;i>=1;--i)
{
cout<<c[i];
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
string s1,s2;
int a[20000],b[20000],len1,len2,len3,c[20000];
int main()
{
cin>>s1>>s2;
len1=s1.length() ;
len2=s2.length() ;
for(int i=1;i<=len1;++i)
{
a[i]=s1[len1-i]-'0';
}
for(int i=1;i<=len2;++i)
{
b[i]=s2[len2-i]-'0';
}
int x;
for(int i=1;i<=len1;++i)
{
x=0;
for(int j=1;j<=len2;++j)
{
c[i+j-1]=a[i]*b[j]+c[i+j-1]+x;
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+len2]=x;//进最前面的一位O(∩_∩)O哈哈哈~划重点
}
len3=len1+len2;
while(c[len3]==0&&len3>1)
{
len3--;
}
for(int i=len3;i>=1;--i)
{
cout<<c[i];
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
int a[1000000],n;
int main()
{
cin>>n;
int len=1;
a[1]=1;
int x;
for(int i=2;i<=n;++i)
{
for(int j=1;j<=len;++j)
{
a[j]=a[j]*i;
}
for(int k=1;k<=len;++k)
{
if(a[k]>9)
{
a[k+1]+=a[k]/10;
a[k]=a[k]%10;
if(k==len) len++;//最高位进位
}
}
}
for(int i=len;i>=1;--i)
{
cout<<a[i];
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
string s1,s2;
int a[20000],b[20000],len1,len2,len3,c[20000];
int main() {
cin>>s1;
int g;
cin>>g;
len1=s1.length() ;
for(int i=0; i<len1; ++i) {
a[i+1]=s1[i]-'0';
}
int x=0;
for(int i=1;i<=len1;++i)
{
c[i]=(x*10+a[i])/g;
x=(x*10+a[i])%g;
}
len3=1;
while(c[len3]==0&&len3<len1)
{
len3++;
}
for(int i=len3;i<=len1;++i)
{
cout<<c[i];
}
return 0;
}
原文:https://www.cnblogs.com/pyyyyyy/p/10960492.html