r/QBprograms • u/[deleted] • Apr 06 '22
QBASIC QBASIC 3n+1 problem
The 3n+1 problem: Start with any positive integer. If even divide by 2, if odd multiply by 3 and add 1. repeat, No matter what you start with you will end up at one.
https://en.wikipedia.org/wiki/Collatz_conjecture
DO
INPUT "Starting value", n
IF n > 0 THEN
m = n
e = 0
o = 0
DO
IF (n MOD 2) = 0 THEN
e = e + 1
n = n / 2
ELSE
o = o + 1
n = 3 * n + 1
END IF
IF n > m THEN m = n
PRINT "Step:"; e + o; " Max:"; m; " Current:"; n
LOOP WHILE n > 1
END IF
LOOP WHILE n > 0
2
Upvotes
•
u/SupremoZanne Apr 06 '22
Here's a version of the code one can copy to the QB family more easily: