精華區beta Programming 關於我們 聯絡資訊
※ 引述《Ying-Chun Liu <PaulLiu.bbs@bbs.cis.nctu.edu.tw>, 看板: Programming》之銘言: : > 我也用 P-III 500Mhz 的量子電腦跑完了,0.362 秒。XD : > 程式語言:Pike : > 以下是一些數據: : > 10000!:1.447s 20000!:4.423s : > 30000!:8.702s 40000!:16.007s 剩下的懶得測。 : > 下面是 200! 的答案: : > Answer:7886578673647905035523632139321850622951359776871732632947425332443594 : > 49963403342920304284011984623904177212138919638830257642790242637105061926624 : > 95282993111346285727076331723739698894392244562145166424025403329186413122742 : > 82948532775242424075739032403212574055795686602260319041703240623517008587961 : > 78922222789623703897374720000000000000000000000000000000000000000000000000 : > real 0m0.362s : > user 0m0.336s : > sys 0m0.028s : > Code :和 C 簡直一模一樣,不過直接支援大數運算。:p : > int main () : > { : > int answer = 1; : > for ( int i = 10000 ; i >= 1 ; i-- ) { : > answer = answer * i; : > } : > write ( "Answer:%d\n", answer ); : > } : pike 看起來真好用.... 看來有空要學學... : 要不要試試把迴圈 i 從 1 跑到 10000 : 這樣有可能會快一點點.. : 不過這個問題本身是 EXPTIME, : 量子電腦目前是連 NPC 都很難解出...所以, : 量子電腦印 n! 目前理論上也快不到哪去啦.. 我的Python也一瞬間就出來答案了XD 以下是原始碼 k=1 for i in xrange(2,201): k*=i print k -- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ - ██◤ ◥█◤ ██◣ ██◣ ██◤ ◢██ -▅▃ █ █ █ █▄▄ █ █ █ ◣ ◢ / - █ ██◢█ ▄▄▌ █ █ ◤ ◥ ◢█◣ █ ◣ ██◤ █ ██◤ ▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃▃ Mozilla Firefox -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.164.196