C++代码实现【题目描述】输入两个高精度正整数M和NM和N均小于100位。求这两个高精度数的积。【输入】输入两个高精度正整数M和N。【输出】求这两个高精度数的积。【输入样例】363【输出样例】108
#include
string multiply(string num1, string num2) { int len1 = num1.size(); int len2 = num2.size(); int len = len1 + len2; int *res = new intlen; for (int i = len1 - 1; i >= 0; i--) { for (int j = len2 - 1; j >= 0; j--) { int n1 = num1[i] - '0'; int n2 = num2[j] - '0'; res[i + j + 1] += n1 * n2; } } for (int i = len - 1; i > 0; i--) { res[i - 1] += res[i] / 10; res[i] %= 10; } string result = ""; int i = 0; while (i < len && res[i] == 0) { i++; } for (; i < len; i++) { result += to_string(res[i]); } delete[] res; return result; }
int main() { string num1, num2; cin >> num1 >> num2; string result = multiply(num1, num2); cout << result << endl; return 0;
原文地址: https://www.cveoy.top/t/topic/hR2d 著作权归作者所有。请勿转载和采集!