[D] time を使って大雑把に計算量の計測実験(例)
MuPAD Light 2.5.3
OS: Windows XP Pro SP2
CPU: Peutium M 1.2GHz
メモリ: 1GB
↓あまりよくないプログラム例
for i in [10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000,
90000, 100000, 110000, 120000, 130000, 140000] do
print(expr2text(i) . "! " . expr2text(time(i!)/1000.0) . "sec")
end_for
10000! 0.32sec
20000! 0.992sec
30000! 2.363sec
40000! 4.316sec
50000! 7.24sec
60000! 10.114sec
70000! 13.931sec
80000! 18.706sec
90000! 23.855sec
100000! 29.893sec
110000! 35.981sec
120000! 43.413sec
130000! 51.103sec
140000! エラー (MuPAD が暴走状態となる)
Q: time コマンドの内容をオンラインヘルプで調べ
てみてください。
そして、あなたのPC上で MuPAD を使って階乗計算がどこまで実用的に可能
かどうか実験してみましょう。
- ハードウェア・ソフトウェア(OSなど)の仕様を明記しましょう。
- プログラムの方法は上記例に拘る必要はありません。