题目描述:
给定两个位数不超过255位的正整数,求它们的乘积。
输入描述:
输入文件中包含两个不超过255位正整数
输出描述:
对输入的正整数,输出其乘积。
样例输入
1111
9
样例输出
9999
算法原理如图
第一步:输入字符串,并将其转化成数组
cio
cin>>s1;
cin>>s2;
la=s1.size(),lb=s2.size();
for(int i=0;i<la;i++){
a[la-i]=s1[i]-'0';
}
for(int i=0;i<lb;i++){
b[lb-i]=s2[i]-'0';
}
第二步(重头戏):计算c[i+j-1]的值
for(int i=1;i<=la;i++){
x=0;
for(int j=1;j<=lb;j++){
c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+lb]=x;
}
第三步:删除前导0