22 lines
550 B
Plaintext
22 lines
550 B
Plaintext
@% = &1010
|
|
FOR h% = 1 TO 20
|
|
PRINT "H("; h% ") = "; FNhamming(h%)
|
|
NEXT
|
|
PRINT "H(1691) = "; FNhamming(1691)
|
|
END
|
|
|
|
DEF FNhamming(l%)
|
|
LOCAL i%, j%, k%, n%, m, x2, x3, x5, h%()
|
|
DIM h%(l%) : h%(0) = 1
|
|
x2 = 2 : x3 = 3 : x5 = 5
|
|
FOR n% = 1 TO l%-1
|
|
m = x2
|
|
IF m > x3 m = x3
|
|
IF m > x5 m = x5
|
|
h%(n%) = m
|
|
IF m = x2 i% += 1 : x2 = 2 * h%(i%)
|
|
IF m = x3 j% += 1 : x3 = 3 * h%(j%)
|
|
IF m = x5 k% += 1 : x5 = 5 * h%(k%)
|
|
NEXT
|
|
= h%(l%-1)
|