演算法入門經典 題目 5 2 2 階乘的精確值

2021-06-21 23:20:59 字數 521 閱讀 7463



5.2.2 階乘的精確值

輸入乙個不超過1000的數n,計算n!

很顯然,1000的階乘會超過int的表示範圍,所以我們要借助陣列來儲存。

這裡的具體做法是,先生成乙個陣列,a[0]處放個位數。初始為a = 表示1

然後從2->n,每次將乙個數乘到陣列中去。

而每次乘乙個數,具體做法是設定乙個進製值c,初始為0,然後,每次將乙個數乘以陣列中的每一位,乘完一位得到的數字tmp, tmp%10作為這一位的新值, tmp/10作為進製值c, 之後迴圈對下一位處理.

#include#include#includeusing namespace std;

int main()

; a[0] = 1;

for(int i=2;i<=n;i++) }

int k;

for(k=3000-1;k>=0;k--)

for(int m=k;m>=0;m--)

cout

《演算法競賽入門經典》中例題對應題目

目前只找到一部分uva上的題目,其它的應該是沒有了,或者我還沒找到.注 帶有 類似 標記的題目表明為類似的題目,可能與例題有些出入,但不是很大,用的是同樣的方法。第五章 5.1.1 wertyu uva 10082 wertyu 5.1.2 tex括號 uva 272 tex quotes 5.1....

經典的演算法題目 一

這系列文章主要記錄遇到的一些比較經典的演算法題目,不斷更新。1 二分演算法求多邊形外接圓的最大半徑。題目要求 給出n個線段長度,試將它們頭尾相接組合成乙個凸多邊形,使凸多邊形的外接圓 多邊形每個頂點都在圓上 的半徑最大,求該最大半徑。其中n 10 5,線段長度均不超過100,要求演算法中不涉及座標的...

演算法競賽入門經典高精度運算推薦題目

origin title satus uva 424 integer inquiry acuva 10106 product acuva 465 overflow acuva 748 exponentiation acuva 10494 if we were a child againac 大數相加...