Hamming numbers: Difference between revisions

Hamming numbers in QBasic
(→‎{{header|Picat}}: Added {{out}}. Corrected the time for the larger problem.)
(Hamming numbers in QBasic)
Line 9,271:
print hamming(1000000)[0]</lang>
=={{header|QBasic}}==
{{works with|QBasic|1.1}}
{{works with|QuickBasic|4.5}}
<lang qbasic>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)</lang>
 
=={{header|Qi}}==
{{incomplete|Qi|Parts 2 & 3 of task missing.}}
2,136

edits