高精度運算 加法 減法

2022-05-08 12:48:10 字數 1118 閱讀 2599

高精度算是我高中期間沒有學明白的知識點之一,其實挺簡單的東西。核心思路是【按位模擬豎式運算】,說白了就是模擬題。

加法減法從低位到高位模擬,因為會進製借位

乘法也從低到高因為進製

除法要從高到低因為我們手算除法時也是從高到低保留餘數的。

高精度減法:

1 #include2

using

namespace

std;34

string

a1,b1;

5int a[10005],b[10005],temp[10005];//

由低位到高位

6int ans[10005];7

bool biga=false,bigb=false;8

9int

main()

19else

if( b[i]>a[i] ) 20}

21if(!biga && !bigb) 22}

23int length=max(a1.length(),b1.length());//

要考慮這麼多上下相減

2425

if(bigb)

3031

for(int i=1;i<=length;i++)34}

35int len=length;

36for(int i=length;i>=1;i--)

40if(bigb) cout<<"-"

;41for(int i=len;i>=1;i--) cout<4243

return0;

44 }

高精度加法:

1 #include2

using

namespace

std;34

string

a1,b1;

5int a[505],b[505];//

由低位到高位

6int ans[505];7

8int

main()18}

19if(ans[length+1]!=0) length+=1;20

for(int i=length;i>=1;i--) cout<2122

return0;

23 }

高精度加法 高精度減法

雖然以前自己就學習過,但是自己打出來的 目測效率不高,也不夠精簡 因此學習一下eden裡面的這一題 big integer add subtract ifndef big integer define big integer include include using std string usin...

高精度計算 加法 減法

include using namespace std int main 大家肯定會說 這不就是最普通的a b問題嗎?你是不是來搞笑的?但是你有沒有想過這樣乙個問題 當a和b的資料過於大的時候怎麼辦呢?比unsigned long long還大 先讓我們回顧一下小學的加法豎式,如256 749 74...

高精度演算法之加法減法

高精度加法是高精度演算法裡面最容易思考的乙個 其實現過程並不難 注意的地方應該是進製的問題 思路 我們可以設兩個陣列a 10090 b 10090 這兩個陣列的作用是用來儲存高精度數的數字 string型別字串str1,str2 用來輸入資料 然後貼 include include include ...