藍橋杯試題 演算法提高 高精度乘法

2021-10-04 12:52:10 字數 1137 閱讀 7858

題目描述:

資源限制

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

問題描述

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

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

輸入格式

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

輸出格式

一行,兩個整數的乘積。

樣例輸入

99101

樣例輸出

9999

資料規模和約定

每個整數不超過10000位

解題思路:

每個整數不超過10000位,所以模擬乘法。按照模擬的思路計算即可。

如果手動模擬不來的話,看一下我的這個部落格。類似的例子,有詳細的模擬過程圖的展示過程。

兩個數相乘的詳細模擬過程

ac**:

#include

#include

#include

#include

#include

#include

using

namespace std;

int a[

10003

],b[

10003];

int ans[

20005];

char aa[

10003

],bb[

10003];

intmain()

if(r)

//如果最後乙個r不為0,那麼陣列ans的元素就多出來一位

ans[k++]+

=r;}

for(i=

0;i)//進製

} i=k-1;

if(ans[k]

)//如果最後一位有進製的話,會多出來一位

i=k;

for(

;i>=

0;i--

) cout<; cout

}

藍橋杯 試題 演算法提高 高精度乘法

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 計算機真是最傻的東西 他都不能計算大於10 65 1的ab,請你幫這個 最傻 的東西過關,否則它就真的只認識1和0了。輸入格式 共兩行 第一行輸入乙個整數a 第一行輸入乙個整數b。輸出格式 共一行,乙個表示ab的整數。樣例輸入 21...

演算法提高 高精度乘法

時間限制 1.0s 記憶體限制 256 0mb 提交此題 問題描述 在c c 語言中,整型所能表示的範圍一般為 231到231 大約21億 即使long long型,一般也只能表示到 263到263。要想計算更加規模的數,就要用軟體來擴充套件了,比如用陣列或字串來模擬更多規模的數及共運算。現在輸入兩...

藍橋杯演算法提高 高精度減法

題目鏈結 問題描述 高精度減法 輸入格式 兩行,表示兩個非負整數a b,且有a b。輸出格式 一行,表示a與b的差 樣例輸入 1234567890987654321 9999 樣例輸出 1234567890987644322 include using namespace std const int...