Numeri primi da 1 a 100

Calcoliamo i numeri primi da 1 a 100 con Algobuild.

Supponiamo quindi di voler chiedere al programma di calcolare i numeri primi in questo intervallo e di visualizzarli.

Per trovare i numeri primi da 1 a 100 dobbiamo controllare se ciascun numero di questo intervallo abbia dei divisori oltre 1 e se stesso.

Se non si trovano altri divisori allora il numero è primo, altrimenti non lo è.

Facciamo un esempio: 2 ha come divisore 1 e 2, dunque è primo.

E così troviamo gli altri, pertanto i numeri primi da 1 a 100 sono:

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.


Calcolo dei numeri primi da 1 a 100 con Algobuild

Per realizzare l’algoritmo servono le seguenti forme:

Ellisse per l’inizio e per la fine;

Parallelogramma in questo caso solo per visualizzare l’output;

Rettangolo per inizializzare le varibili e incrementarle;

Rombo per effettuare un test che può essere vero o falso e per la struttura ciclica. In questo caso abbiamo due cicli e due if.

Bene consideriamo adesso i numeri a partire da 2 fino al numero 100 compreso (potremmo fare a meno di considerare 100 perchè già sappiamo che non è un numero primo).

Ciascun numero verrà diviso per numeri che inizieranno da 2 e termineranno fino ad n/2.

Perchè? Partiamo a dividere da 2 perchè sappiamo già che tutti i numeri sono divisibili per 1. Arriviamo ad n/2 perchè sappiamo anche che dividere un numero per un valore maggiore della sua metà mi darà sempre un numero con la virgola. Quindi ecco che basta restringere questo intervallo per avere maggiore velocità di elaborazione.

Dunque ecco il diagramma di flusso che rappresenta l’algoritmo per il calcolo dei numeri primi da 1 a 100.

diagramma di flusso numeri primi

Nella versione non ottimizzata potremmo mettere semplicemente div<num e togliere anche conta<2.

Questo è solo un esempio di implementazione del diagramma di flusso per il calcolo dei numeri primi da 1 a 100.

Provate anche a variare l’algoritmo partendo da 1, io tra non molto pubblicherò la soluzione.

Un’altra possibile variazione potrebbe essere quella di chiedere in input un intervallo di numeri che l’utente dovrà inserire. Dopo quindi si calcolano i numeri primi tra l’intervallo preso in input. Ovviamente in questo caso occorrono i controlli dell’input.

Alcuni link utili

Array con algobuild

Triangoli con algobuild

Fibonacci con algobuild

Serie buffa con algobuild

Numeri amicabili con algobuild

Numeri perfetti con algobuild

Massimo fra tre numeri

Minore fra tre numeri


Autore dell'articolo: cristina

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *