Anti-primes: Difference between revisions

→‎{{header|Tiny BASIC}}: Optimized the "Count divisors" subroutine to accelerate.
(→‎{{header|Tiny BASIC}}: Optimized the "Count divisors" subroutine to accelerate.)
Line 835:
==={{header|Tiny BASIC}}===
{{works with|TinyBasic}}
<syntaxhighlight lang="basic">100 LETREM A=0Anti-primes
101110 LET NA=10
102120 LET HN=01
106130 LET H=F0
103140 PRINT "The first 20 anti-primes are:"
105150 GOSUB 150300
106 LET H=F
107160 LET AH=A+1F
109170 LET NA=NA+1
108180 PRINT N
109 LET N=N+1
152190 LET N=N+1
110200 IF A<20 THEN GOTO 105150
111210 END
150 GOSUB 200
290 REM Search next anti-prime
151 IF F>H THEN RETURN
150300 GOSUB 200400
152 LET N=N+1
151310 IF F>H THEN RETURN
153 GOTO 150
200320 LET FN=0N+1
153330 GOTO 150300
201 LET C=1
390 REM Count divisors
205 IF N/C*C=N THEN LET F=F+1
206400 LET CF=C+1
207410 IF C<=N>1 THEN GOTOLET 205F=2
201420 LET C=12
208 RETURN
430 IF C*C>=N THEN GOTO 470
440 IF (N/C)*C=N THEN LET F=F+2
450 LET C=C+1
460 GOTO 430
205470 IF N/C*C=N THEN LET F=F+1
208480 RETURN
</syntaxhighlight>
{{out}}
511

edits