题目描述
求a×b的值。其中a,b是一个不超过200位的非负整数。
输入样例:
两行,第行一行为a的值,第二行为b的值;
输出样例:
一行为a×b的值;
样例输入:
12345
12345
样例输出:
152399025
#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int i,j,a[250],b[250],c[500];
int p;
int main(){
cin>>s1>>s2;
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-i-1]-'0';
}
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-i-1]-'0';
}
for(int i=0;i<s1.size();i++){
for(int j=0;j<s2.size();j++){
c[j+i]=c[j+i]+a[i]*b[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;
}
}
}
for(int i=s1.size()+s2.size()-1;i>=0;i--){
if(c[i]!=0){
p=i;
break;
}
}
for(int i=p;i>=0;i--){
cout<<c[i];
}
return 0;
}