题目描述
求两个正整数之积
输入格式
共两行,每行一个正整数,每个数小于1000位
输出格式
求两整数的积
样例
输入数据#1
12 12
输出数据#1
144
代码
#include<bits/stdc++.h>
using namespace std;
int a[1010],b[1010],c[2020];
int main()
{
string s1,s2;
cin>>s1>>s2;
for(int i=0;i<s1.size();i++)
{
a[i]=s1[s1.size()-i-1]-48;
}
for(int i=0;i<s2.size();i++)
{
b[i]=s2[s2.size()-i-1]-48;
}
for(int i=0;i<s2.size();i++)
{
for(int j=0;j<s1.size();j++)
{
c[i+j]=a[j]*b[i]+c[i+j];
if(c[i+j]>=10)
{
c[i+j+1]=c[i+j+1]+c[i+j]/10;
c[i+j]=c[i+j]%10;
}
}
}
int p;
for(int i=s1.size()+s2.size();i>=0;i--)
{
if(c[i]!=0)
{
p=i;
break;
}
}
for(int i=p;i>=0;i--)
{
cout<<c[i];
}
}
如有错误请指出,谢谢!