Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Hamming-numbers/QBasic/hamming-numbers.basic
Normal file
39
Task/Hamming-numbers/QBasic/hamming-numbers.basic
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
FUNCTION min (a, b)
|
||||
IF a < b THEN min = a ELSE min = b
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION Hamming (limit)
|
||||
DIM h(limit)
|
||||
|
||||
h(0) = 1
|
||||
x2 = 2
|
||||
x3 = 3
|
||||
x5 = 5
|
||||
i = 0
|
||||
j = 0
|
||||
k = 0
|
||||
FOR n = 1 TO limit
|
||||
h(n) = min(x2, min(x3, x5))
|
||||
IF x2 = h(n) THEN
|
||||
i = i + 1
|
||||
x2 = 2 * h(i)
|
||||
END IF
|
||||
IF x3 = h(n) THEN
|
||||
j = j + 1
|
||||
x3 = 3 * h(j)
|
||||
END IF
|
||||
IF x5 = h(n) THEN
|
||||
k = k + 1
|
||||
x5 = 5 * h(k)
|
||||
END IF
|
||||
NEXT n
|
||||
Hamming = h(limit - 1)
|
||||
END FUNCTION
|
||||
|
||||
PRINT "The first 20 Hamming numbers are :"
|
||||
FOR i = 1 TO 20
|
||||
PRINT Hamming(i); " ";
|
||||
NEXT i
|
||||
|
||||
PRINT
|
||||
PRINT "H( 1691) = "; Hamming(1691)
|
||||
Loading…
Add table
Add a link
Reference in a new issue