高精度 大整數減法

2022-07-10 19:12:12 字數 761 閱讀 4985

求兩個大的正整數相減的差。

共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前導零。

一行,即所求的差。

本題考察的是高精度減法。我們可以模擬減法的豎式計算過程從而實現高精度的計算。

和高精度加法一樣,也是使用字串來進行輸入、儲存。豎式計算時,也是低位對齊,從低位向高位進行計算的,所以可以通過倒序轉換數字的方式實現簡便操作。

計算過程中需要注意借位操作。向高位借一位,自身加十,高位減一。最後再倒序進行輸出。

#include #include using namespace std;

/*1. 輸入、儲存 大整數

2. 計算 模擬豎式計算

低位對齊 倒序處理 轉換

*/int main(),s2[205]=;

int n1[205]=,n2[205]=;

cin>>s1>>s2;

//倒序

int l1=strlen(s1);

int l2=strlen(s2);

for(int i=0;i=0;i--){

if(n1[i]!=0||i==0) flag=1;

if(flag==1)

cout鏈結

原始碼上傳至gitee倉庫中,歡迎star!

fork me on gitee

大整數(高精度)加減法

第一次寫,涉及大整數加減運算 先來看看加法,主要思想是逐位相加,進製加1 include include using namespace std void add int a,int b string str1,string str2 void print int a 輸出控制,多餘的0不要輸出 i...

高精度減法

題目描述 高精度減法 輸入輸出格式 輸入格式 兩個數 第二個可能比第乙個大 輸出格式 結果 是負數要輸出負號 輸入輸出樣例 輸入樣例 1 2 1 輸出樣例 1 1說明 這也沒什麼好說的,沒什麼特別的要求,就是乙個普普通通的高精減。程式如下 const max 500 var s integer a,...

高精度減法

description 輸入兩個整數a和b,輸出這兩個整數的差。a和b都不超過100位。input 輸入包括兩行,第一行為乙個非負整數a 被減數 第二行為乙個非負整數b 減數 兩個整數都不超過100位,兩數的最高位都不是0。output 輸出一行,表示a b的值。sample input 99999...