nobusuke_neko #7636(2008/09/16 13:24 GMT) [ JavaScript ] Rating0/0=0.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
function steps(n){ var step = 0; for(;n!=1; step++) n = (n&1) ? n*3+1 : n/2; return step; } function maxim(lim){ var result = 0; var step = 0; for(var i=(lim&(lim-1))?1:lim/2; i<=lim; i++){ var temp = steps(i); if(temp > step) { step=temp; result=i; } } return result; } var tm = (new Date).getTime(); var n = maxim(Math.pow(2,20)); var s = steps(n); WScript.Echo('f( '+n+' ) = '+s); WScript.Echo('time = '+((new Date).getTime()-tm) + 'ms');
Rating0/0=0.00-0+
[ reply ]
nobusuke_neko
#7636()
[
JavaScript
]
Rating0/0=0.00
2^k-1..2^k 間だけ調べることにしました。
後はいたって普通というか、回りくどいというか。
CeleronM1.8GHz, Memory1GB, WindowsXP, WSH(JScript)
--------------------
C:\temp>cscript //nologo collatz.js
f( 837799 ) = 524
time = 29578ms
Rating0/0=0.00-0+
[ reply ]