Sieve of Eratosthenes: Difference between revisions

Content added Content deleted
m (add consistency to examples)
(→‎{{header|Commodore BASIC}}: Add implementation)
Line 1,550: Line 1,550:
120 NEXT N</lang>
120 NEXT N</lang>


==={{header|Commodore BASIC}}===
Since C= BASIC initializes arrays to all zeroes automatically, we avoid needing our own initialization loop by simply letting 0 mean prime and using 1 for composite.
<lang basic>100 REM SIEVE OF ERATOSTHENES
110 INPUT "LIMIT";LI
120 DIM N(LI)
130 SL = SQR(LI)
140 N(0)=1:N(1)=1
150 FOR P=2 TO SL
160 : IF N(P)=1 THEN 200
170 : FOR I=P*P TO LI STEP P
180 : N(I)=1
190 : NEXT I
200 NEXT P
210 FOR I=2 TO LI
220 : IF N(I)=0 THEN PRINT I,
230 NEXT I
240 PRINT
</lang>
{{Out}}
<pre>
READY.
RUN
LIMIT? 100
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53
59 61 67 71
73 79 83 89
97

READY.
</pre>
==={{header|IS-BASIC}}===
==={{header|IS-BASIC}}===
<lang IS-BASIC>100 PROGRAM "Sieve.bas"
<lang IS-BASIC>100 PROGRAM "Sieve.bas"