社区讨论
请问一下第六个点数据是什么??90(第六个点WA了),求大佬
P2142高精度减法参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo8pquv6
- 此快照首次捕获于
- 2023/10/27 22:33 2 年前
- 此快照最后确认于
- 2023/10/27 22:33 2 年前
C
#include<iostream>
#include<math.h>
using namespace std;
string a, b;
int A[500000]={0}, B[500000] = {0}, C[500000] = {0};
int main()
{
cin >> a >> b;
bool f = false;
int lena = a.length();
int lenb = b.length();
for (int i = 0; i < lena; i++)
A[i] = a[lena - i - 1] - '0';
for (int i = 0; i < lenb; i++)
B[i] = b[lenb - i - 1] - '0';
if (lena < lenb || lena == lenb && a < b)
{
f = true;
swap(A, B);
}
int lenc= max(lena, lenb);
for (int i = 0; i < lenc; i++)
{
if (A[i] - B[i] >=0)
{
C[i] = A[i] - B[i];
}
else
{
A[i + 1] -= 1;
C[i] = A[i] - B[i] + 10;
}
/*if (A[i] < B[i])
{
A[i + 1]--;
A[i] += 10;
}
C[i] = A[i] - B[i];*/
}
if (f)cout << "-";
while (C[lenc-1] == 0 && lenc > 2)
lenc--;
for (int i = lenc - 1; i >= 0; i--)
cout << C[i];
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...