计算两个非负整数 A,B 的乘积,A,B 可能会很大。
输入格式
第一行输入一个非负整数 A。
第二行输入一个非负整数 B。
A,B 的长度不大于 500。
输出格式
输出 A×B 的值。
样例输入
4321
1234
样例输出
5332114
AC代码:
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int c[505*505]={0};
int main()
{
string a,b;
cin>>a>>b;
int index=0,count=0,num1,num2,sum,k;
int i,j;
for(i=a.length()-1;i>=0;i--)
{
num1=a[i]-'0';
index=0+count;
k=0;
for(j=b.length()-1;j>=0;j--)
{
num2=num1*(b[j]-'0')+k;
sum=c[index]+num2;
c[index]=sum%10;
index++;
k=sum/10;
}
if(k!=0)
{
c[index]=c[index]+k;
index++;
}
count++;
}
if(a=="0"||b=="0")
{
cout<<0<<endl;
return 0;
}
for(i=index-1;i>=0;i--)
cout<<c[i];
cout<<endl;
return 0;
}