This small example will extract the prime numbers between 2 and 400. It has been taken and adapted by an exampled published on RetroProgramming Italia's Facebook group.
Click here for more informations.
source
compile
sandbox
issues?
back to examples
4 CLS
5 REM inizializzo limite massimo e array di flag
6 REM nums(x) = 0 -> x dentro
7 REM nums(x) = 1 -> x fuori
10 CONST maxn=400:DIM nums(maxn)
12 REM inizializzo timer e contatore di numeri primi
15 TI=0:np%=0
17 REM esamino tutti i numeri da 2 a maxn
20 FOR i=2 TO maxn
25 REM se il numero i è fuori dal crivello, passo al successivo
30 IF nums(i) <> 0 THEN : GOTO 90 : ENDIF
35 REM altrimenti i è primo. incremento contatore primi
36 REM stampo il primo i e mi preparo a generare i multipli
40 np%=np%+1:PRINT i,:k%=1
45 REM calcolo il multiplo come i*k (k=1,2,..)
46 REM finchè il multiplo è <= maxn
47 REM poi passo ad esaminare il prossimo i
50 multiplo=i*k%
60 IF multiplo>maxn THEN : GOTO 90 : ENDIF
70 REM metto il multiplo fuori dal crivello
80 nums(multiplo)=1
82 REM calcolo il prossimo multiplo da escludere
85 k%=k%+1:GOTO 50
90 NEXT
95 REM stampo il contatore dei numeri primi e il tempo trascorso
100 REM PRINT:PRINT "contaprimi: ";np%
110 REM PRINT "ti ";TI
115 ct=(TI/60)
120 IF ct>60 THEN : ct=ct-60 : m%=m%+1 : GOTO 120 : ENDIF
130 PRINT:PRINT "time: ";m%;" min ";ct;" s"
140 PRINT CHR$(126);"(";c%;") =";np%
The instructions here refer to compiling the example from the command line. For Microsoft Windows
users we suggest using UGBASIC-IDE, which allows
you to download and compile each single example with just one click.
Are instructions for your specific home computer / console missing? First of all, check if your computer
is supported by clicking here. If so, since ugBASIC is a language which does not provide abstractions, it is possible
that this example will not work on your target. If you think this is an issue, please click here.
In order to compile the example, type this command on the command line:
Linux
ugbc.cpc -O dsk -o contrib_primes4.dsk contrib_primes4.bas
Windows
ugbc.cpc.exe -O dsk -o contrib_primes4.dsk contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.atarixl -O xex -o contrib_primes4.xex contrib_primes4.bas
Windows
ugbc.atarixl.exe -O xex -o contrib_primes4.xex contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.atari -O xex -o contrib_primes4.xex contrib_primes4.bas
Windows
ugbc.atari.exe -O xex -o contrib_primes4.xex contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.coco -O bin -o contrib_primes4.bin contrib_primes4.bas
Windows
ugbc.coco.exe -O bin -o contrib_primes4.bin contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.c128 -O prg -o contrib_primes4.prg contrib_primes4.bas
Windows
ugbc.c128.exe -O prg -o contrib_primes4.prg contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.c64 -O prg -o contrib_primes4.prg contrib_primes4.bas
Windows
ugbc.c64.exe -O prg -o contrib_primes4.prg contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.d32 -O bin -o contrib_primes4.bin contrib_primes4.bas
Windows
ugbc.d32.exe -O bin -o contrib_primes4.bin contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.d64 -O bin -o contrib_primes4.bin contrib_primes4.bas
Windows
ugbc.d64.exe -O bin -o contrib_primes4.bin contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.pc128op -O k7 -o contrib_primes4.k7 contrib_primes4.bas
Windows
ugbc.pc128op.exe -O k7 -o contrib_primes4.k7 contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.to8 -O k7 -o contrib_primes4.k7 contrib_primes4.bas
Windows
ugbc.to8.exe -O k7 -o contrib_primes4.k7 contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.vic20 -O prg -o contrib_primes4.prg contrib_primes4.bas
Windows
ugbc.vic20.exe -O prg -o contrib_primes4.prg contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
In order to compile the example, type this command on the command line:
Linux
ugbc.zx -O tap -o contrib_primes4.tap contrib_primes4.bas
Windows
ugbc.zx.exe -O tap -o contrib_primes4.tap contrib_primes4.bas
For Microsoft Windows users we suggest using UGBASIC-IDE, which allows
you to download and compile this example with just one click.
If you have found a problem trying to run this example, if you think there is a bug or, more
simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!
open an issue
BACK TO EXAMPLES