wordpress软件网站模板下载,济南品牌网站制作便宜,如何开网店新手入门拼多多,安阳贴吧A*B Problem
题目背景
高精度乘法模板题。
题目描述
给出两个非负整数#xff0c;求它们的乘积。
输入格式
输入共两行#xff0c;每行一个非负整数。
输出格式
输出一个非负整数表示乘积。
样例 #1
样例输入 #1
1
2样例输出 #1
2提示
每个非负整数不超过 1 0…A*B Problem
题目背景
高精度乘法模板题。
题目描述
给出两个非负整数求它们的乘积。
输入格式
输入共两行每行一个非负整数。
输出格式
输出一个非负整数表示乘积。
样例 #1
样例输入 #1
1
2样例输出 #1
2提示
每个非负整数不超过 1 0 2000 10^{2000} 102000。
题解-来自Pleasant_goat_17
#includeiostream
#includestring
using namespace std;string Add(string a,string b){if(a.length()b.length()){string tmp a;a b;b tmp;}int alen a.length();int blen b.length();for(int i0;ialen-blen;i){b 0b;}int up0,num;string ans;for(int ialen-1;i0;i--){num (a[i]-0)(b[i]-0)up;up num/10;num%10;ans (char)(num 0) ans;}if(up){ans (char)(up0) ans;}return ans;
}string Mult(string a,string b){int alen a.length();int blen b.length();string ans0;string tmp;int num,up0;for(int ialen-1;i0;i--){tmp ;for(int jblen-1;j0;j--){num (a[i]-0)*(b[j]-0)up;up num/10;num%10;tmp (char)(num0)tmp;}if(up){tmp (char)(up0)tmp;up0;}// cout a[i] * b tmp endl;for(int k0;k(alen-1)-i;k){tmp tmp 0;// cout tmp endl;}// cout ans tmp endl;ans Add(ans,tmp);}int index0;while(1){//去0if(index ans.length()-1){ans 0;break;}if(ans[index]!0){ans ans.substr(index,ans.length());break;}index;}return ans;
}int main()
{string a,b;cin a b;// cout Add(a,b)endl;cout Mult(a,b);
}