//加法
const int maxn = 520;
int a[maxn],b[maxn],c[maxn];
int main()
{
string A,B;
cin >> A >> B;
int len = max(A.length(),B.length());
for(int i = A.length()-1,j = 1;i >= 0;i--,j++)
{
a[j] = A[i] - '0';
}
for(int i = B.length()-1,j = 1;i >= 0;i--,j++)
{
b[j] = B[i] - '0';
}
for(int i = 1; i <= len;i++){
c[i] += a[i] + b[i];
c[i + 1] = c[i] / 10;
c[i] %= 10;
}
if(c[len+1])
len++;
for(int i = len;i >= 1;i--)
{
cout << c[i];
}
return 0;
}
//乘法
int main(){
const int maxn = 520;
int a[maxn] = {0},b[maxn] = {0},c[maxn] = {0};
string A,B;
cin >> A >> B;
for(int p = A.length() - 1; p >=0 ;p--)a[A.length() - p] = A[p] - '0';
for(int p = B.length() - 1; p >=0 ;p--)b[B.length() - p] = B[p] - '0';
for(int i = 1; i <= A.length();i++){
for(int j = 1;j <= B.length();j++){
c[i + j - 1] += a[i] * b[j];
}
}
int len = A.length() + B.length();
for(int p = 1;p <= len;p++){
c[p+1] += c[p] / 10;
c[p] %= 10;
}
for(;!c[len];)
len--;
for(int i = max(1,len);i >= 1;i--){
cout << c[i];
}
return 0;
}
标签:const,string,int,--,length,maxn,计算,轮子
From: https://www.cnblogs.com/haimian666/p/17111115.html