兩個超級大的整數做加法

2021-10-04 16:56:05 字數 768 閱讀 4472

最近做題經常碰到題目中說輸入兩個超級大整數,然後讓童鞋對這兩個超級大整數做運算,一開始我還因為題目有問題,哪有整形可以放得下這麼大的整數,後來看了前人的做題思路後發現是我無知了,以下面這道題對這種方法做乙個記錄。

題目描述:

思路:用兩個字串來存放兩個整數,然後用字串模擬加法的運算,這樣就可以對超級大的整數做加法運算了。

#include

#include

using namespace std;

//用字串來模擬加法的實現

string add

(string s1, string s2)

如果s1長的話,將長出來的位進行運算

while

(i >=0)

如果s2長的話,將長出來的位進行運算

while

(j >=0)

//如果最高位有進製,將進製1加到res的前面

if(t >0)

res =

(char

)(t +

'0')

+ res;

return res;

}//比較兩個字串對應的兩個整數的大小

bool great

(string s1, string s2)

intmain()

}

位運算實現兩個整數的加法運算

最近在看一本 程式設計師面試寶典 在程式設計基本概念這一章中多次出現了按位與,異或等二進位制的計算,下面這道題就是其中之一 先放 include int add const int a,const int b if b 0 return a 設定遞迴退出條件 else int sum,carry s...

大整數的加法

問題 實現30位以內的大整數的加法 include include int main b 50 c 50 m,n,q,k,i printf 請輸入兩個大整數並以回車鍵表示輸入結束 n gets s1 獲得字串形式的大整數 gets s2 m strlen s1 m等於字串的長度 n strlen s...

大整數的加法

加法的步驟 將該位上的兩個數字與進製相加,得到的結果取個位數作為該位結果,取十位數作為新的進製。加法部分程式 高精度a b bign add bign a,bign b 如果最後進製不為0,則直接賦給結果的最高位 if carry 0 return c 乙個完整的應用程式 include inclu...