文章
60
粉丝
361
获赞
43
访问
522.9k
#include <bits/stdc++.h>
using namespace std;
string jiafa(string a,string b)//加法,返回字符串相加结果
{
if(a.size()<b.size())
swap(a,b);//保证a最长
string c(a.size(),'0');
b.insert(0,a.size()-b.size(),'0');
int jinwei=0;
for(int i=a.size()-1;i>=0;i--)
{
c[i]=(a[i]-'0'+b[i]-'0'+jinwei)%10+'0';
jinwei=(a[i]-'0'+b[i]-'0'+jinwei)/10;
}
if(jinwei!=0)
c.insert(0,1,'1');
return c;
}
void chengfa(string a,string b)//返回乘法结果
{
string sum="0";
for(int j=b.size()-1;j>=0;j--)
{
int jinwei=0;
//执行b的一位数*a所得结果
string c(a.size(),'0');
for(int i=a.size()-1;i>=0;i--)
{
c[i]=((a[i]-'0')*(b[j]-'0')+jinwei)%10+'0';
jinwei=((a[i]-'0')*(b[j]-'0')+jinwei)/10;
}
if(jinwei!=0)
c.insert(0,1,jinwei+'0');
c.insert(c.end(),b.size()-1-j,'0');//结果插入0
sum=jiafa(c,sum);
}
cout<<sum<<endl;
}
int main()
{
int n;
string a,b;
while(cin>>n>>a>>b)
chengfa(a,b);
return 0;
}
登录后发布评论
暂无评论,来抢沙发