コラッツ・角谷の問題
Posted feedbacks - BASIC
十進BASIC Ver7.0.4の2進モードで。 実行環境は、pentiumM 1.3GHz、メモリ256MB、WindowsXPです。 f( 837799 ) = 524 3.15000000000873 sec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | !コラッツ・角谷の問題
LET st = TIME
LET n = 2^20
DIM c(n)
FUNCTION f(k)
IF k = 1 THEN
LET f = 0
ELSEIF k <= n AND c(k) <> 0 THEN
LET f = c(k)
ELSE
IF MOD(k,2) = 0 THEN
LET s = f(k / 2) + 1
ELSE
LET s = f((3 * k + 1) / 2) + 2
END IF
IF k <= n THEN LET c(k) = s
LET f = s
END IF
END FUNCTION
LET mx = f(n)
LET no = n
FOR i = 3 TO n STEP 2
LET j = f(i)
IF j > mx THEN
LET mx = j
LET no = i
END IF
NEXT I
PRINT "f(";no;") =";mx
PRINT TIME - st;"sec"
END
|



ところてん
#4969()
Rating2/2=1.00
see: コラッツの問題の成り立つ範囲
[ reply ]