高精度運算

2021-07-16 04:48:36 字數 1412 閱讀 3687

資料讀入,加減乘除,階乘,取餘。

不支援負數。

乘除只支援大整數和小整數的運算。

包括了所有已知的演算法競賽當中的大數運算。

這應該是迭代比較完美的一代了,終於完成了高精度模板,繼續加油!

const

int maxlen = 1005;

struct bigint

++j;

}num[j] = -1; digit = j;

}bigint(int a)

bigint(long

long a)

}num[j] = -1; digit = j;

}int bigcmp(const bigint rhs)

return

0; }

}bigint operator + (const bigint rhs)

if(num[idx] != -1)

}else

}if(carry > 0)

ans.num[idx++] = carry;

ans.num[idx] = -1;

ans.digit = idx;

return ans;

}bigint operator * (const

int rhs)

if(carry > 0)

ans.num[idx++] = carry;

}else

ans.num[idx] = -1;

ans.digit = idx;

return ans;

}bigint operator - (const bigint rhs)

++idx;

}while(num[idx] != -1)

++idx;

}ans.num[idx] = -1;

ans.digit = idx;

return ans;

}void frac(int n)

if(carry > 0)

num[idx++] = carry;

num[idx] = -1;

digit = idx;}}

long

long

operator % (const

int rhs)

return r;

}bigint operator / (const

int rhs)

ans.digit = digit;

while(ans.digit > 1 && ans.num[ans.digit-1] == 0)

ans.digit--;

ans.num[ans.digit] = -1;

return ans;

}void print()

}};

高精度運算

今天覆習了一下高精度運算。我覺得這種簡單的東西也得看一看,至少給自己留點兒低!高精度可以壓位的,但我今年懶得寫了 首先是加減法很簡單了,沒什麼值得特別強調的。高精度減法時別忘了,a時做下交換在計算,輸出時別忘了標記負號。高精度乘法需要注意的問題是,要在做完乘法之後再調整為十進位制。有的初學者小盆友喜...

高精度運算

雖說高精度直接考查的越來越少,不過還是以防萬一。define maxlen 1000 struct bint 本模板既可輸入字串,也可輸入整數 bint int t if len 1 len bint char str print number friend void print bint bi p...

高精度運算

name 高精度運算 author goal00001111 date 01 12 08 15 04 description 高精度運算 加減乘除,乘方,階乘 include include using namespace std void reverse string str void addin...