高精度減法

2022-04-12 06:54:28 字數 736 閱讀 1317

減法比加法難在兩個地方,乙個是向上一位借位,這個**實現比較容易,基本思路是把加法的向上進製改為減掉借位的1,就比較好實現了

第二個,是被減數比減數大,我的解決方案是把減得過程寫成函式,在執行函式前進行一下判斷,假設是a-b,當a**實現如下

#include#include

#include

#include

#include

#include

using

namespace

std;

char a1[1000],b1[1000

];

int a[1000],b[1000],c[1000

],x,i,lena,lenb;

void jian(int a,int

b)

}m++;

}intmain()

lena=strlen(a1),lenb=strlen(b1);

for(i=0;i)

for(i=0;i)

i=0;

if(strcmp(a1,b1)<=0

)

else

jian(a[i],b[i]);

m--; //

刪除前導0

for(int i=m;i>=0;i--)

cout

}

高精度減法

題目描述 高精度減法 輸入輸出格式 輸入格式 兩個數 第二個可能比第乙個大 輸出格式 結果 是負數要輸出負號 輸入輸出樣例 輸入樣例 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...

高精度減法?!

高精減 嗯輸入就不再講一遍了。儲存和之前是一樣的,倒序儲存。減法需要借位,所以解決減法借位是關鍵。方法如下 if a i a i 1 向上一位借一做十 a i 10 c i a i b i 逐位相減這樣就可以處理借位問題。當然,在減法中還有乙個需要處理的問題,當然這個問題很重要 減法中有被減數和減數...