Re: [問題] N!遞迴快速解
※ 引述《qrtt1 (愚人)》之銘言:
: ※ 引述《costbook (antitheist)》之銘言:
: : 如果作業的測資為有限的範圍,
: : 那就用查表法吧,先把範圍內的
: : 階層算出來,建立解答表
: : 然後直接查表就好了,超快的
: 呵,也可以動態建表啊 :D
: 這樣比存查表法寫起來多了一點趣味性
我覺得求大數的階層比較難(10000!這種),
而且我到現在還沒有練習寫寫看...
不然查表法也沒什麼用,一下就爆掉了...
#include<iostream>
using namespace std;
#define TABLE_SIZE 24
int main(){
long long int fact[TABLE_SIZE];
fact[0]=0;
fact[1]=1;
fact[2]=2;
for(long long int i=3;i<TABLE_SIZE;i++){
fact[i]=i*fact[i-1];
cout<<"fact["<<i<<"]="<<fact[i]<<endl;
}
system("pause");
}
結果:
fact[3]=6
fact[4]=24
fact[5]=120
fact[6]=720
fact[7]=5040
fact[8]=40320
fact[9]=362880
fact[10]=3628800
fact[11]=39916800
fact[12]=479001600
fact[13]=6227020800
fact[14]=87178291200
fact[15]=1307674368000
fact[16]=20922789888000
fact[17]=355687428096000
fact[18]=6402373705728000
fact[19]=121645100408832000
fact[20]=2432902008176640000
fact[21]=-4249290049419214848
fact[22]=-1250660718674968576
fact[23]=8128291617894825984
--
樹大有枯枝,人多有白痴
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.157.195
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章