高精度減法

2021-07-30 06:01:22 字數 1026 閱讀 1137

description

輸入兩個整數a和b,輸出這兩個整數的差。a和b都不超過100位。
input

輸入包括兩行,第一行為乙個非負整數a(被減數),第二行為乙個非負整數b(減數)。兩個整數都不超過100位,兩數的最高位都不是0。
output

輸出一行,表示a - b的值。
sample input

99999999999999999999

99999999

123321

sample output

99999999999900000000

-198

思路:

高精度減法,利用陣列模擬減的過程,不過最開始應該判斷數的大小,如果第乙個數比第二個數小則要輸出減號並交換兩個數,否則就不變.

減法存在乙個向上一位借數的過程,就是當前兩個數的被減數比減數小時就向前借一位.

**

#include

#include

int main()

lena=strlen(s1);

lenb=strlen(s2);

for(i=0,j=lena-1;i//逆序儲存兩個數

a[j]=(int) (s1[i]-'0');

for( i=0,j=lenb-1;iint) (s2[i]-'0');

i=0;

while(iif(a[i]//借位的過程

c[i]=a[i]-b[i];

i++;

}lenc=i;

for(;c[lenc]==0&&lenc>0;lenc--);//清除前導0

for(i=lenc;i>=0;i--)

printf("%d",c[i]);

printf("\n");

}return

0;}

高精度減法

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

高精度減法?!

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

高精度減法

1 高精度減法 模板 高精度減法 模板題 acwing 792.高精度減法 比較a是否大於等於b bool cmp vectora,vectorb vectorsub vectora,vectorb while c.size 1 c.back 0 c.pop back return c acwing...