22 lines
570 B
Plaintext
22 lines
570 B
Plaintext
10 LET n=27: LET s=1
|
|
20 GO SUB 1000
|
|
30 PRINT '"Sequence length = ";seqlen
|
|
40 LET maxlen=0: LET s=0
|
|
50 FOR m=2 TO 100000
|
|
60 LET n=m
|
|
70 GO SUB 1000
|
|
80 IF seqlen>maxlen THEN LET maxlen=seqlen: LET maxnum=m
|
|
90 NEXT m
|
|
100 PRINT "The number with the longest hailstone sequence is ";maxnum
|
|
110 PRINT "Its sequence length is ";maxlen
|
|
120 STOP
|
|
1000 REM Hailstone
|
|
1010 LET l=0
|
|
1020 IF s THEN PRINT n;" ";
|
|
1030 IF n=1 THEN LET seqlen=l+1: RETURN
|
|
1040 IF FN m(n,2)=0 THEN LET n=INT (n/2): GO TO 1060
|
|
1050 LET n=3*n+1
|
|
1060 LET l=l+1
|
|
1070 GO TO 1020
|
|
2000 DEF FN m(a,b)=a-INT (a/b)*b
|