高精度計算

2021-06-01 03:01:30 字數 723 閱讀 8055

最近做了一些高精度計算問題,一般來說解題辦法都差不多,都是通過字串來操作的,下面是解題模板。

//清零操作

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";

else

return s;

//加班操作

string addition(string s1,string s2){

string s;

while(s1.length()>s2.length())

s2='0'+s2;

while(s2.length()>s1.length())

s1='0'+s1;

//兩個數都加0,防止進製溢位。

s1='0'+s1;

s2='0'+s2;

for(int j=s2.length()-1;j>=0;j--){

s1[j]=s1[j]+(s2[j]-'0');

if(s1[j]>'9'){

s1[j] = s1[j]-10;

s1[j-1]=s[j-1]+1;

s=clearstr(s1);

return s;

//減法操作

高精度計算

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

高精度計算

一.高精度儲存 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 ...