codeVS 3115 高精度練習之減法

2021-07-23 17:45:00 字數 829 閱讀 1070

時間限制:1s空間限制:64000kb題目等級:** gold

題目描述

給出兩個正整數a和b,計算a-b的值。保證a和b的位數不超過500位。

輸入描述

讀入兩個用空格隔開的正整數

輸出描述

輸出a-b的值

樣例輸入

3 12

樣例輸出-9

解題思路

1、用字串形式輸入a,b兩個大數

2、判斷a,b兩串長度,即兩個數的位數

3、若位數相同,則 ①從最高位開始按位比較,發現a

若位數不同,則 ①直接比較兩數字數,保證a為兩數中較大數  ②從個位開始按位做減法,直到較小數b的最高位,把結果存放到新字串c中  ③把a剩餘的位存入c中  ④c的倒序輸出即為相減結果

ac**如下:

#includeusing namespace std;

int main()

if( a[i]=0;i-- )

else

}coutif( a.length()=0 ; --i,--j )

else

}for( int p=i;p>=0;--p )

//避免高位輸入0(1234-567輸出0667這樣的情況)

int flag=0;

for( int q=lc-1;q>=0;q-- )

else if( c[q]!=0 ){

flag=1;

cout<

codevs3115 高精度練習之加法

時間限制 1 s 空間限制 64000 kb 題目等級 gold 題解給出兩個正整數a和b,計算a b的值。保證a和b的位數不超過500位。輸入描述 input description 讀入兩個用空格隔開的正整數 輸出描述 output description 輸出a b的值 樣例輸入 sample...

CODE VS 3115 高精度練習之減法

題目描述 description給出兩個正整數a和b,計算a b的值。保證a和b的位數不超過500位。輸入描述 input description讀入兩個用空格隔開的正整數 輸出描述 output description輸出a b的值 樣例輸入 sample input 3 12 樣例輸出 samp...

CODEVS3115 高精度練習之減法

給出兩個正整數a和b,計算a b的值。保證a和b的位數不超過500位。讀入兩個用空格隔開的正整數 輸出a b的值 3 12 9兩個正整數的位數不超過500位 include include include using namespace std char sa 510 sb 510 int a 51...