Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
106204 一只野生穹p 高精度加法 C++ 解答错误 76 0 MS 272 KB 801 2023-10-10 13:31:36

Tests(23/30):


#include <iostream> #include <algorithm> #include <cstdio> #include <cmath> using namespace std; const int MAXN = 5e3 + 1e2; int a[MAXN]; int b[MAXN]; int c[MAXN]; void read(int x[]) { string s; cin >> s; int len = s.size(); x[0] = len; for (int i = 0;i <= len - 1;i++) x[len - i] = s[i] - '0'; return ; } void print(int x[]) { for (int i = x[0];i >= 1;i--) printf("%d", x[i]); return ; } void add(int x[], int y[], int z[]) { z[0] = max(x[0], y[0]); for (int i = 1;i <= z[0];i++) { z[i] += x[i] + y[i]; z[i + 1] += z[i] / 10; z[i] %= 10; } while (z[z[0]] != 0) { z[z[0] + 1] += z[z[0]] / 10; z[z[0]] %= 10; z[0]++; } z[0]--; return ; } int main() { read(a); read(b); add(a,b,c); print(c); return 0; }


测评信息: