当前位置: 首页 > news >正文

题解:AcWing 792 高精度减法

【题目来源】

AcWing:792. 高精度减法 - AcWing题库

【题目描述】

给定两个正整数(不含前导 \(0\)),计算它们的差,计算结果可能为负数。

【输入】

共两行,每行包含一个整数。

【输出】

共一行,包含所求的差。

【输入样例】

32
11

【输出样例】

21

【解题思路】

image

【算法标签】

《AcWing 792 高精度减法》 #高精度#

【代码详解】

#include <bits/stdc++.h>
using namespace std;// 比较两个大数的大小,判断A是否大于等于B
bool cmp(vector<int> &A, vector<int> &B) {// 先比较位数if (A.size() != B.size()) return A.size() > B.size();// 位数相同则从高位到低位逐位比较for (int i = A.size() - 1; i >= 0; i--) {if (A[i] != B[i]) return A[i] > B[i];}// 完全相等return true;
}// 大数减法函数,计算A - B(要求A >= B)
vector<int> sub(vector<int> &A, vector<int> &B) {vector<int> C;  // 存储结果int t = 0;      // 借位值for (int i = 0; i < A.size(); i++) {t = A[i] - t;            // 减去借位if (i < B.size()) t -= B[i];           // 减去B的当前位// 处理结果为负数的情况C.push_back((t + 10) % 10);// 判断是否需要借位if (t < 0) t = 1;else t = 0;}// 去除前导零(保留至少一位)while (C.size() > 1 && C.back() == 0) C.pop_back();return C;
}int main() {string a, b;       // 输入的大数字符串vector<int> A, B;  // 存储逆序的数字cin >> a >> b;// 将字符串转换为逆序的数字数组for (int i = a.size() - 1; i >= 0; i--) A.push_back(a[i] - '0');for (int i = b.size() - 1; i >= 0; i--) B.push_back(b[i] - '0');// 比较大小并计算差值if (cmp(A, B)) {auto C = sub(A, B);for (int i = C.size() - 1; i >= 0; i--) printf("%d", C[i]);} else {auto C = sub(B, A);printf("-");  // 结果为负for (int i = C.size() - 1; i >= 0; i--) printf("%d", C[i]);}return 0;
}

【运行结果】

32
11
21
http://www.jsqmd.com/news/397325/

相关文章:

  • 题解:AcWing 793 高精度乘法
  • 希尔伯特空间
  • Prime1
  • 几个靠关键词获取流量的 独立站 的优秀站点
  • 卫星通信系统工程设计与应用【1.8】
  • 2025智能数字资产流转平台架构创新:AI应用架构师眼中的3大技术突破方向
  • Mac 续命神器!用 balenaetcher 制作 macOS Tahoe 启动盘,小白也能一键重装系统
  • XSLT `<template>` 标签详解
  • Bootstrap 导航栏
  • 数据湖架构深度解析:Delta Lake vs Iceberg vs Hudi
  • 题解:AcWing 790 数的三次方根
  • 题解:AcWing 785 快速排序
  • 题解:AcWing 789 数的范围
  • 2026.2.20
  • R语言连接MySQL数据库的详细指南
  • 题解:AcWing 788 逆序对的数量
  • 题解:AcWing 787 归并排序
  • 第1.4节 最优化理论基础 习题练习
  • 题解:AcWing 786 第k个数
  • CSS 网页布局
  • Servlet 数据库访问
  • YOLO26改进26:全网首发--C3k2融合自研创新模块C3k2_GhostDynamicConv
  • YOLO26改进27:全网首发--C3k2融合自研改进模块RVB_EMA
  • jEasyUI 创建页脚摘要
  • MySQL 删除数据表
  • centos7 中 安装docker与使用
  • Ruby Socket 编程
  • Spring IOC容器:Bean生命周期与循环依赖解决
  • 2/20
  • 2026排阻行业佼佼者,这些厂商表现亮眼,低温漂高精密电阻/抗浪涌电阻/荣誉代理/排阻,排阻公司哪家强 - 品牌推荐师