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

C++高精度减法

高精度减法其实跟加法差不多,首先就是需要逆序存入整数数组,其次就是做运算,最后就是删除前导0逆序输出。

不过在做高精度减法需要考虑一下两个数的关系是有三种的,a>b,a<b a==b;思考全面咱们的程序才能拿满分。

以下是完整程序:

#include<bits/stdc++.h>
using namespace std;
const int maxn=10010;
int a[maxn],b[maxn];
bool compare(string a,string b){if(a.size()<b.size()){return true;}if(a.size()>b.size()){return false;}for(int i=0;i<a.size();i++){if(a[i]>b[i]){return false;}if(a[i]<b[i]){return true;}}return false;
}
int main() {string s1,s2;cin>>s1>>s2;//比较 默认s1>s2if(compare(s1,s2)){swap(s1,s2);printf("-");}int len1=s1.size();int len2=s2.size();for(int i=0;i<len1;i++){a[len1-i]=s1[i]-'0';}for(int i=0;i<len2;i++){b[len2-i]=s2[i]-'0';}for(int i=1;i<=len1;i++){a[i]-=b[i];if(a[i]<0){a[i+1]--;a[i]+=10;}}while(a[len1]==0&&len1>1){len1--;}for(int i=len1;i>=1;i--){cout<<a[i];}return 0;
}
http://www.lryc.cn/news/424150.html

相关文章:

  • protobuf cmakelist,msvc utf-8设置
  • Haproxy讲解
  • K8S系列——一、Ubuntu上安装Helm
  • 排序: 插入\希尔\选择\归并\冒泡\快速\堆排序实现
  • OpenCV图像处理——按最小外接矩形剪切图像处理ROI后映射回原图像
  • Linux中以单容器部署Nginx+ASP.NET Core
  • 【秋招笔试】8.11大疆秋招(第三套)-三语言题解
  • 标题:打造编程学习的知识宝库:高效笔记记录与整理
  • 【Rust光年纪】Rust 官方提供的关键工具概览:代码检查、格式化和依赖管理
  • 【Python学习-UI界面】PyQt5 小部件8-QSlider 数值滑动
  • MapReduce入门教程
  • JDBC1 Mysql驱动,连接数据库
  • LeetCode 205 同构字符串
  • ARM高性能计算(HPC)处理器Neoverse介绍
  • 【每日力扣中医养生】力扣1298. 你能从盒子里获得的最大糖果数
  • 大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
  • C#创建一个自定义控件类
  • springboot牙科就诊管理系统--论文源码调试讲解
  • CUDA+tensorflow+python+vscode在GPU下环境安装及问题汇总与解答
  • 24/8/14算法笔记 复习_逻辑回归sigmoid
  • MySQL忘记/无root密码,强制修改root密码
  • 探索 MongoDB 的 $currentDate:解决 TTL 时间不同步问题的利器
  • defineModel
  • 去中心化技术的崛起:探索Web3的新时代
  • GNU/Linux - copy_{to,from}_user: 用户和内核空间的内存互拷贝
  • 进阶岛任务1: 探索 InternLM 模型能力边界
  • RabbitMQ实现多线程处理接收消息
  • AI智能网关 边缘计算 视觉AI
  • Java基础之原反补码
  • Unity如何使用Spine动画导出的动画