#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 ...