题解 | #大数乘法#
大数乘法
https://www.nowcoder.com/practice/c4c488d4d40d4c4e9824c3650f7d5571
int c[100000000],a[10000000],b[10000000]; class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串 第一个整数 * @param t string字符串 第二个整数 * @return string字符串 */ string solve(string num1, string num2) { // write code here string str; if(num1=="0"||num2=="0") return "0"; int len1=num1.size(),len2=num2.size(); for (int i = 0; i < len1; i++) a[i] = num1[len1 - i - 1] - '0'; for (int i = 0; i < len2; i++) b[i] = num2[len2 - i - 1] - '0'; for(int i=0;i<len1;i++) for(int j=0;j<len2;j++) c[i+j]+=a[i]*b[j]; int k=0; while(c[k]||k<len1+len2-1) { c[k+1]+=c[k]/10; c[k]%=10; str.push_back(c[k]+'0'); k++; } //while(k>0&&!c[k]) k--; reverse(str.begin(),str.end()); return str; } };