Crivo de Eratóstenes


10 DEFINT A-Z : INPUT "Número máximo";N : TIME=0
20 CLS : DIM A(N) : PRINT "Calculando números primos até";N : PRINT
30 F=3 : B=SQR(N)
40 IF A(F) THEN F=F+2 : GOTO 40
50 IF F>B THEN 70
60 FOR G=F^2 TO N STEP F*2 : A(G)=-1 : NEXT G : F=F+2 : GOTO 40
70 PRINT 2; : FOR G=3 TO N STEP 2
80 IF NOT A(G) THEN PRINT G;
90 NEXT G : PRINT : PRINT "Tempo (em segundos):";TIME/60 : END
100 REM data estelar 140715

Nenhum comentário:

Postar um comentário