CONST max = 2000 DIM SHARED stern(max + 2) FUNCTION gcd (x, y) WHILE y t = y y = x MOD y x = t WEND gcd = x END FUNCTION SUB SternBrocot stern(1) = 1 stern(2) = 1 i = 2: n = 2: ub = UBOUND(stern) DO WHILE i < ub i = i + 1 stern(i) = stern(n) + stern(n - 1) i = i + 1 stern(i) = stern(n) n = n + 1 LOOP END SUB SternBrocot PRINT "The first 15 are: "; FOR i = 1 TO 15 PRINT stern(i); " "; NEXT i PRINT : PRINT PRINT " Index First nr." d = 1 FOR i = 1 TO max IF stern(i) = d THEN PRINT USING " ######"; i; stern(i) d = d + 1 IF d = 11 THEN d = 100 IF d = 101 THEN EXIT FOR i = 0 END IF NEXT i PRINT : PRINT d = 0 FOR i = 1 TO 1000 IF gcd(stern(i), stern(i + 1)) <> 1 THEN d = gcd(stern(i), stern(i + 1)) EXIT FOR END IF NEXT i IF d <> 0 THEN PRINT "GCD of two consecutive members of the series up to the 1000th member is 1" ELSE PRINT "The GCD for index "; i; " and "; i + 1; " = "; d END IF