本文主要是介绍洛谷:P1601 A+B Problem(高精)模拟与高精度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
A*B Problem
题目描述
给出两个非负整数,求它们的乘积。
输入格式
输入共两行,每行一个非负整数。
输出格式
输出一个非负整数表示乘积。
样例 #1
样例输入 #1
1
2
样例输出 #1
2
提示
每个非负整数不超过 1 0 2000 10^{2000} 102000。
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
char s1[N], s2[N];
int s3[N], len;
int main()
{cin >> s1 >> s2;int len1 = strlen(s1);int len2 = strlen(s2);int size = max(len1,len2);for (int i = 0; i < size; i++){int a, b, c;if (len1>0)a = s1[len1 - 1] - '0';elsea = 0;if (len2> 0)b = s2[len2 - 1] - '0';elseb = 0;c = a + b;int d = s3[i];s3[i]=(d+c % 10)%10;s3[i + 1] = (d + c) / 10;len1--;len2--;}int k = max(len1, len2);if (s3[size] == 0)size--; //如果首位为0,排除for (int i = size; i >= 0; i--){cout << s3[i];}
}
这篇关于洛谷:P1601 A+B Problem(高精)模拟与高精度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!