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 大數相加...