题目描述
给出两个长度小于 100 位的正整数,求其乘积。
输入描述
两行,一行一个数。
输出描述
一行,为所求乘积。
样例输入
1937
2931
样例输出
5677347
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[101]={0},b[101]={0};
while(cin>>a>>b)
{
int a1[201]={0},b1[201]={0},c[201]={0};
for(int i=0;i<strlen(a);i++) a1[i]=a[strlen(a)-i-1]-'0';
for(int i=0;i<strlen(b);i++) b1[i]=b[strlen(b)-i-1]-'0';
int i,j;
for(i=0;i<strlen(a);i++)
for(j=0;j<strlen(b);j++)
{
c[i+j]+=a1[i]*b1[j];
}
for(i=0;i<strlen(a)+strlen(b);i++)
{
if(c[i]>=10)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
i=i-2;
for(;i>=0;i--)
cout<<c[i];
cout<<endl;
}
system("pause");
}