本文主要是介绍2024/3/10 P1601高精加法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
起因是本人在一个为数不多空闲的下午刷题ing,看到了A+B problem。“就这?”从而忽略了高精这俩字,然后喜提40分。
于是开始研究何为高精。
#include<iostream>
#include<string.h>
#include<cstring>using namespace std;
const int N = 1000;
int a[N], b[N], c[N];
char s1[N], s2[N];
int main()
{memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));memset(c, 0, sizeof(c));int j = 1;bool x = 0;cin >> s1 >> s2;int len1 = strlen(s1);int len2 = strlen(s2);for (int i = 1; i <= len1; i++) {a[i] = s1[len1 - i] - '0';}for (int i = 1; i <= len2; i++) {b[i] = s2[len2 - i] - '0';}for (j; j <= max(len1, len2)+1; j++) {c[j] = a[j] + b[j];if (c[j] > 9) {c[j] = c[j] % 10;a[j + 1]++;}}c[0] = j;if (c[j + 1] > 0) {c[0]++;}for (int i = c[0]; i > 0; i--) {if (c[i] == 0 && x == 0) {continue;}x = 1;cout << c[i];}if (x == false) cout << 0;return 0;
}
其中忘了这一步,导致喜提wa
if (x == false) cout << 0;
如果没有这步,0+0输出为空。
这篇关于2024/3/10 P1601高精加法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!