22 lines
583 B
Plaintext
22 lines
583 B
Plaintext
seqlen% = FNhailstone(27)
|
|
PRINT "Sequence length for 27 is "; seqlen%
|
|
maxlen% = 0
|
|
FOR number% = 2 TO 100000
|
|
seqlen% = FNhailstone(number%)
|
|
IF seqlen% > maxlen% THEN
|
|
maxlen% = seqlen%
|
|
maxnum% = number%
|
|
ENDIF
|
|
NEXT
|
|
PRINT "The number with the longest hailstone sequence is " ; maxnum%
|
|
PRINT "Its sequence length is " ; maxlen%
|
|
END
|
|
|
|
DEF FNhailstone(N%)
|
|
LOCAL L%
|
|
WHILE N% <> 1
|
|
IF N% AND 1 THEN N% = 3 * N% + 1 ELSE N% DIV= 2
|
|
L% += 1
|
|
ENDWHILE
|
|
= L% + 1
|