Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
293233 | 语桐 | 高精度减法 | C++ | Accepted | 100 | 1 MS | 380 KB | 649 | 2025-07-08 13:19:40 |
#include <iostream> using namespace std; int a[10000], b[10000]; int main() { string s1, s2; cin >> s1 >> s2; if (s1.size()<s2.size()|| (s1.size()==s2.size()&&s1<s2)){ cout <<'-'; swap(s1,s2);} for (int i = 0; i <= s1.size(); i++) a[s1.size() - 1 - i] = s1[i] - '0'; for (int i = 0; i <= s2.size(); i++) b[s2.size() - 1 - i] = s2[i] - '0'; for (int i = 0; i < max(s1.size(), s2.size()); i++) { a[i] -= b[i]; if (a[i] <0) { a[i] += 10; a[i + 1] --; } } int len = max(s1.size(), s2.size()); while(len>1&&a[len-1]==0)len--; for (int i = len - 1; i >= 0; i--) cout << a[i]; return 0; }