C++自存错题(16)高精减
题目描述
高精度减法。
输入格式
两个整数 a,b(第二个可能比第一个大)。
输出格式
结果(是负数要输出负号)。
输入输出样例
输入 #1复制
2
1
输出 #1复制
1
说明/提示
20% 数据 a,b 在 long long 范围内;
100% 数据 0<a,b≤10
10086
。
#include <iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<queue>
using namespace std;
const int N = 1e6 + 10;
int a[N], b[N], c[N];
int lena, lenb, lenc;
void gj(int a[], int b[], int c[]) {
for (int i = 0; i < lena; i++) {
c[i] += a[i] - b[i];
if (c[i] < 0) {
c[i + 1] -= 1;
c[i] += 10;
}
}
}
int main() {
string a1, b1;
cin >> a1 >> b1;
bool change = false;
if (a1.size() < b1.size()) {
swap(a1, b1);
change = true;
}
if (!change){
if (a1.size() == b1.size() && a1 < b1) {
swap(a1, b1);
change = true;
}
}
lena = a1.size();
lenb = b1.size();
for (int i = 0; i < lena; i++) {
a[lena - 1 - i] = a1[i] - '0';
}
for (int i = 0; i < lenb; i++) {
b[lenb - 1 - i] = b1[i] - '0';
}
gj(a,b,c);
while (lena > 1 && c[lena - 1] == 0) {
lena--;
}
if (change) {
cout << "-";
}
for (int i = lena - 1; i >= 0; i--) {
cout << c[i];
}
return 0;
}
高精度减法。
输入格式
两个整数 a,b(第二个可能比第一个大)。
输出格式
结果(是负数要输出负号)。
输入输出样例
输入 #1复制
2
1
输出 #1复制
1
说明/提示
20% 数据 a,b 在 long long 范围内;
100% 数据 0<a,b≤10
10086
。
#include <iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<iomanip>
#include<queue>
using namespace std;
const int N = 1e6 + 10;
int a[N], b[N], c[N];
int lena, lenb, lenc;
void gj(int a[], int b[], int c[]) {
for (int i = 0; i < lena; i++) {
c[i] += a[i] - b[i];
if (c[i] < 0) {
c[i + 1] -= 1;
c[i] += 10;
}
}
}
int main() {
string a1, b1;
cin >> a1 >> b1;
bool change = false;
if (a1.size() < b1.size()) {
swap(a1, b1);
change = true;
}
if (!change){
if (a1.size() == b1.size() && a1 < b1) {
swap(a1, b1);
change = true;
}
}
lena = a1.size();
lenb = b1.size();
for (int i = 0; i < lena; i++) {
a[lena - 1 - i] = a1[i] - '0';
}
for (int i = 0; i < lenb; i++) {
b[lenb - 1 - i] = b1[i] - '0';
}
gj(a,b,c);
while (lena > 1 && c[lena - 1] == 0) {
lena--;
}
if (change) {
cout << "-";
}
for (int i = lena - 1; i >= 0; i--) {
cout << c[i];
}
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
分享
12-26 10:52
河北传媒学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
