AcWing - 高精度减法(大数减法)
发布日期:2021-07-01 00:21:46
浏览次数:3
分类:技术文章
本文共 1371 字,大约阅读时间需要 4 分钟。
题目链接:
时/空限制:1s / 64MB题目描述
给定两个正整数,计算它们的差,计算结果可能为负数。
输入格式
共两行,每行包含一个整数。
输出格式
共一行,包含所求的差。
数据范围
1≤整数长度≤10^5
输入样例
32
11
输出样例
21
解题思路
题意:求两个大数的差。
思路:上大数减法模板,注意负数的情况。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 100005;char sa[MAXN], sb[MAXN];int vectcmp(vector A, vector B) { if (A.size() != B.size()) { if (A.size() > B.size()) return 1; return -1; } for (int i = A.size() - 1; ~i; i--) { if (A[i] != B[i]) { if (A[i] > B[i]) return 1; return -1; } } return 0;}// C = A - B, 满足A >= B, A >= 0, B >= 0vector Sub(vector A, vector B) { vector C; int t = 0; for (int i = 0; i < A.size(); i++) { t = A[i] - t; if (i < B.size()) t -= B[i]; C.push_back((t + 10) % 10); t = t < 0; } while (C.size() > 1 && !C.back()) C.pop_back(); return C;}int main() { vector spa, spb, spc; scanf("%s%s", sa, sb); for (int i = strlen(sa) - 1; ~i; i--) spa.push_back(sa[i] - '0'); for (int i = strlen(sb) - 1; ~i; i--) spb.push_back(sb[i] - '0'); if (vectcmp(spa, spb) < 0) { spc = Sub(spb, spa); printf("-"); } else spc = Sub(spa, spb); for (int i = spc.size() - 1; ~i; i--) printf("%d", spc[i]); printf("\n"); return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/99838174 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月22日 12时39分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Flink DataStream API概述(12)
2019-05-01
Flink Operator概述(13)
2019-05-01
Flink Time概述(14)
2019-05-01
Flink Window概述(15)
2019-05-01
Flink Operators之CoGroup和Join概述(16)
2019-05-01
Flink Operators之Process Function(17)
2019-05-01
Flink 异步I/O访问外部数据(18)
2019-05-01
深入理解python--线程、进程与协程(1)
2019-05-01
Flink中增量聚合函数和全量聚合函数的关系
2019-05-01
HIVE自定义函数--UDF函数(用户自定义函数)详解
2019-05-01
Java中访问控制符的具体用法
2019-05-01
Java包重点总结
2019-05-01
创建线程究竟该用第几种方式
2019-05-01
Java--流重点总结初稿
2019-05-01
Java高级部分流---换个角度思考流
2019-05-01
如何解决电脑ip地址冲突的问题
2019-05-01
Win下如何查看本地计算机的网络端口被哪个应用程序所占用
2019-05-01
TCP/IP、Http、Socket的区别
2019-05-01
Java高级部分容器重点总结下
2019-05-01
Java高级部分流重点总结上
2019-05-01