信息学奥赛系列教程:高精度减法

本文介绍了信息学奥赛中高精度减法的重要知识点,包括模拟传统竖式减法,注意位数对齐和借位规则。在进行高精度减法时,需先比较两个数的长度,确定被减数,并从高位开始逐位进行减法运算。
摘要由CSDN通过智能技术生成

  高精度减法,模拟常规立竖式计算,各位数对齐,从各位开始减,如果不够,向一位

借一作10。如下图所示:

高精度减法需要注意的问题:

对两个数做比较,根据前面介绍的高精度数据输出,如果两个数长度不同,则长度较长的数作为被减数

如果两个数长度相同,从高位开始到低位,每位数字相比较,数字较大的数一定大。

高精度减法算法实现如下:

#include <iostream>
#include <cstring>
using namespace std;
const int N =1001;
int aa[N],bb[N],cc[N]; //定义计算数和输出结果

void inputNum(string ss,int a[]); //输入需要计算的数保存到数组
void printArr(int a[]);  //输出数组的元素
void jisuan(int a[],int b[],int c[]);
int main()
{
	string s1 ="78345359834";
	string s2 ="26245874563";
	inputNum(s1,aa);
	printArr(aa);
	
    inputNum(s2,bb);
	printArr(bb);
	int temp =compare(aa,bb);
	if (temp==0) cout<<"0"<<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值