vtwntmtn #5100(2008/01/01 14:49 GMT) [ Erlang ] Rating0/0=0.00
環境
CPU : Intel(R) Celeron(R) CPU 2.40GHz MEM : 774324 kB OS : VineLinux 4.2
コマンド
erlc +native collatz_kakutani.erl time -p erl +native -noshell -s collatz_kakutani main -s init stop
実行結果
f(837799) = 524
実行時間
real 18.46 user 14.72 sys 0.40
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
-module(collatz_kakutani). -export([main/0]). step(1, Step) -> Step; step(Num, Step) -> case Num rem 2 of 0 -> step(Num div 2, Step + 1); 1 -> step(3 * Num + 1, Step + 1) end. max_step(1, MaxNum, MaxStep) -> [MaxNum, MaxStep]; max_step(Num, MaxNum, MaxStep) -> TmpStep = step(Num, 0), if TmpStep > MaxStep -> max_step(Num - 1, Num, TmpStep); true -> max_step(Num - 1, MaxNum, MaxStep) end. main() -> io:format("f(~B) = ~B~n", max_step(1 bsl 20, 1, 1)).
Rating0/0=0.00-0+
[ reply ]
vtwntmtn
#5100()
[
Erlang
]
Rating0/0=0.00
環境
コマンド
実行結果
実行時間
-module(collatz_kakutani). -export([main/0]). step(1, Step) -> Step; step(Num, Step) -> case Num rem 2 of 0 -> step(Num div 2, Step + 1); 1 -> step(3 * Num + 1, Step + 1) end. max_step(1, MaxNum, MaxStep) -> [MaxNum, MaxStep]; max_step(Num, MaxNum, MaxStep) -> TmpStep = step(Num, 0), if TmpStep > MaxStep -> max_step(Num - 1, Num, TmpStep); true -> max_step(Num - 1, MaxNum, MaxStep) end. main() -> io:format("f(~B) = ~B~n", max_step(1 bsl 20, 1, 1)).Rating0/0=0.00-0+
[ reply ]