C語言 高精度加法

2021-09-07 10:06:45 字數 708 閱讀 1108

演算法提高 高精度加法  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

在c/c++語言中,整型所能表示的範圍一般為-231到231(大約21億),即使long long型,一般也只能表示到-263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。

現在輸入兩個整數,請輸出它們的和。

輸入格式

兩行,每行乙個整數,每個整數不超過1000位

輸出格式

一行,兩個整數的和。

樣例輸入

15464315464465465

482321654151

樣例輸出

15464797786119616

資料規模和約定

每個整數不超過1000位

作者注釋:把運算元統統用字元陣列存放。

1/*2

分析:3

1.可能兩個數的長度不同,那麼就需要在乙個數加完之後把另乙個數的剩下的數全加上。

42.判斷最高位,如果最高位有進製,那麼還需要把進製位加上。5*/

6 #include7 #include

8main()

21while(i>=0)

27while(j>=0)

33if(r)

36for(int i=k-1;i>=0;i--)

39 }

(C語言)高精度加法

我們知道 int 和 long 型別的變數在64位作業系統中能表示的資料範圍為 2 31,2 31 1 long long 型別的變數能表示的資料範圍為 2 63,2 63 1 但是現在我們需要計算的資料超過了long long 型資料能表示的範圍。這時候我們就需要使用高進度演算法。什麼是高精度演算...

C語言 高精度加法

問題描述 輸入兩個整數 a和b,輸出這兩個整數的和。a和b都不超過100位。演算法描述 由於 a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。定義乙個陣列 a,a 0 用於儲存 a的個位,a 1 用於儲存 a的十位,依此類推。同樣可以用乙個陣列 b來儲存...

c 語言 高精度加法

問題描述 輸入兩個整數a和b,輸出這兩個整數的和。a和b都不超過100位。演算法描述 由於a和b都比較大,所以不能直接使用語言中的標準資料型別來儲存。對於這種問題,一般使用陣列來處理。定義乙個陣列a,a 0 用於儲存a的個位,a 1 用於儲存a的十位,依此類推。同樣可以用乙個陣列b來儲存b。計算c ...