高精度計算

2021-08-22 08:17:14 字數 1168 閱讀 2444

#include#include#includeusing namespace std;

const int l = 110;

string add(string a, string b)//只限兩個非負整數相加

, nb[l] = ;

int la = a.size(), lb = b.size();

for (int i = 0; ilb ? la : lb; //lamx等於長度最長的string物件

for (int i = 0; i= 0; i--) ans += na[i] + '0'; //最後在把它倒著輸出

return ans;

}int main()

只限兩個非負整數相加

演算法複雜度o(n)

#include#include#includeusing namespace std;

const int l = 110;

string sub(string a, string b)//只限大的非負整數減小的非負整數

, nb[l] = ;

int la = a.size(), lb = b.size();

for (int i = 0; ilb ? la : lb;

for (int i = 0; i0); lmax++;

for (int i = lmax - 1; i >= 0; i--) ans += na[i] + '0';

return ans;

}int main()

cout << sub(a, b) << endl;

} return 0;

}

只限大的非負整數減小的非負整數

演算法複雜度o(n)

#include#include#includeusing namespace std;

const int l = 110;

string mul(string a, string b)//高精度乘法a,b,均為非負整數

int main()

兩個數均為非負整數

演算法複雜度o(n*n)

高精度計算

最近做了一些高精度計算問題,一般來說解題辦法都差不多,都是通過字串來操作的,下面是解題模板。清零操作 string clearstr string s if s return s 0 while s.length 0 s 0 0 s.erase 0,1 刪除第乙個零 if s return s 0 ...

高精度計算

一.高精度儲存 1.如對數採用的字串輸入 include include using namespace std const int n 100 最多100位 int main 2.直接讀入 include using namespace std const int n 100 最多100位 int...

高精度計算

include include include include include using namespace std 基於c 的大整數運算 首先,為了方便後面運算,我們先定義乙個結構體 struct bign 一般來說,大整數一般是使用字串輸入的,下面將字串儲存的大整數 存放在結構體中 bign ...