dummy% = FNsubrand(292929) FOR i% = 1 TO 10 PRINT FNsubrand(0) NEXT END DEF FNsubrand(s%) PRIVATE r%(), p% : DIM r%(54) IF s% = 0 THEN p% = (p% + 1) MOD 55 r%(p%) = r%(p%) - r%((p% + 31) MOD 55) IF r%(p%) < 0 r%(p%) += 10^9 = r%(p%) ENDIF LOCAL i% r%(54) = s% : r%(33) = 1 p% = 12 FOR i% = 2 TO 54 r%(p%) = r%((p%+42) MOD 55) - r%((p%+21) MOD 55) IF r%(p%) < 0 r%(p%) += 10^9 p% = (p% + 34) MOD 55 NEXT FOR i% = 55 TO 219 IF FNsubrand(0) NEXT = 0