Numeri primi da 1 a 100 in Java: Visualizza da 1 a 100 in Java
Pubblicato: 2021-02-08Sommario
introduzione
Prima di tutto, iniziamo con la definizione dei numeri primi. Un numero si dice primo se è divisibile solo per 1 e per se stesso. Se ci chiedessero di dire numeri primi da 1 a 100, sarebbe un compito noioso controllare ogni numero sulla carta e dire se è un numero primo o meno. Non importa se possiamo scrivere un codice per farlo e java rende le cose facili.
Java è un linguaggio popolare e uno dei più utilizzati e il motivo per cui si trova in primo piano nelle giornate di sole è fornire funzionalità come la programmazione orientata agli oggetti, l'indipendenza dalla piattaforma, le librerie predefinite, ecc.
Costruiamo un codice per stampare i numeri primi da 1 a 100 e lo esaminiamo. Iniziamo!
Programma Java
Prima di saltare al codice, capiremo l'algoritmo per verificare se un numero è un numero primo o meno. All'inizio, abbiamo bisogno di scorrere tutti i numeri da 1 a N e mantenere un conteggio di numeri che divida correttamente il numero dato. Se il conteggio è 2 allora possiamo concludere che il numero dato è un primo, altrimenti non è un primo. Ecco il codice per farlo.
int n = 5 ; int c = 0 ; for ( int i= 1 ;i<=n;i++) se (n%i== 0 ) c++; se (c== 2 ) System.out.println(n+ ”è un numero primo” ); altro System.out.println(n+ ”non è un numero primo” ); |
Nello snippet sopra n è il numero che deve essere verificato se è un numero primo o meno, c è una variabile che memorizza il conteggio dei divisori propri. E stiamo scorrendo l'intervallo da 1 a n incrementando il conteggio se abbiamo trovato un divisore appropriato.
E dopo essere usciti dal ciclo, stiamo controllando se il conteggio è 2 cioè; ci sono solo due divisori propri (1 e se stesso). Se sì concludendolo come un numero primo, altrimenti un numero non primo. Parlando della complessità temporale del codice sopra è lineare, quindi è un codice di complessità O(n).

Ora che ci è stato chiesto di stampare i numeri primi da 1 a 100, dobbiamo eseguire lo stesso algoritmo per ogni numero compreso tra 1 e 100 e memorizzare il numero primo. Ed ecco il codice per farlo.
ArrayList<Intero> a= nuovo ArrayList<>(); for ( int n= 1 ; n<= 100 ; n++){ int c = 0 ; for ( int i = 1 ; i <= n; i++) se (n % i == 0 ) c++; se (c == 2 ) a.aggiungi(n); altro continua ; } System.out.println(a); |
Nel codice sopra, abbiamo dichiarato un ArrayList che memorizza tutti i numeri primi nell'intervallo da 1 a 100. Ora abbiamo due cicli for primo ciclo for è per scorrere tutti i numeri compresi tra 1 e 100 e il secondo ciclo for è il nostro precedente algoritmo dei numeri primi. Dopo aver eseguito l'algoritmo dei numeri primi per ogni numero, lo stiamo inserendo in ArrayList se è un numero primo.
Dai un'occhiata: Stipendio per sviluppatori Java in India
E dopo aver completato i cicli, stiamo stampando il nostro ArrayList che mostra tutti i numeri primi compresi tra 1 e 100. Parlando della complessità temporale del codice sopra, possiamo vedere che ci sono due cicli for. Quindi è un codice di complessità O(n²).

Abbiamo codificato l'intervallo nel codice sopra, cosa succede se vogliamo stampare numeri primi nell'intervallo fornito dall'input dell'utente?
Numeri primi nell'intervallo di input specificato
L'intero algoritmo sarà quasi simile al codice sopra, l'unica differenza che facciamo è prendere l'input dell'utente per il limite inferiore e il limite superiore dell'intervallo.
Costruiamo il codice ora!
Scanner sc=nuovo Scanner(System.in); int inferiore=sc.nextInt(); int superiore=sc.nextInt(); ArrayList<Intero> a=nuovo ArrayList<>(); for(int n=inferiore; n<=superiore; n++){ int c = 0; for (int i = 1; i <= n; i++) se (n % i == 0) c++; se (c == 2) a.aggiungi(n); altro Continua; } System.out.println(a); |
Nel codice sopra, stiamo inizializzando uno scanner per leggere l'input dell'utente. Abbiamo dichiarato due variabili inferiore e superiore e assegnando tali variabili con l'input dell'utente. Quello che dobbiamo fare è stampare tutti i numeri primi compresi nell'intervallo [inferiore, superiore]. Il nostro algoritmo precedente esegue questo compito e aggiunge tutti i numeri primi all'ArrayList.

Leggi anche: Idee e argomenti del progetto Java
Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Conclusione
Abbiamo compreso la definizione di numeri primi, abbiamo esaminato un algoritmo per trovare se un numero è primo o meno, esteso quell'algoritmo per trovare numeri primi da 1 a 100. E in seguito abbiamo usato uno scanner java per leggere l'input dell'utente per modificando l'intervallo di numeri che devono essere controllati se sono primi o meno, ha costruito un algoritmo per la stampa di numeri primi in un intervallo fornito dall'utente.
Ora che sei a conoscenza di come verificare se un numero è primo o meno, come stampare numeri primi in un determinato intervallo. Prova a implementare alcune sfide come implementarlo usando funzioni, implementarlo usando oggetti, costruire l'algoritmo usando la ricorsione, prova a usare poche altre raccolte in java, prova a ottimizzare un po' il codice se possibile, ecc. Perché la pratica ti aiuta a padroneggiare un linguaggio di programmazione , ti aiuta a superare l'ambiguità con sintassi e implementazione.
Se desideri migliorare le tue abilità Java, devi mettere le mani su questi progetti Java. Se sei interessato a saperne di più su Java, lo sviluppo full-stack, dai un'occhiata al programma Executive PG di upGrad & IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Cosa sono i numeri primi?
Cosa sono i setacci di Eratostene?
Il crivello di Eratostene è un antico algoritmo greco per trovare i numeri primi. L'algoritmo è noto per la sua semplicità ed efficienza, nel senso che è abbastanza veloce per il suo tempo e tuttavia fornisce numeri primi molto bene. L'algoritmo funziona eliminando tutti i multipli di ogni primo dai numeri composti, partendo dai multipli di 2 e finendo con i multipli di N (N è l'ultimo numero per il quale vuoi trovare i primi). Eratostene era un matematico greco ed era considerato il fondatore della biblioteca di Alessandria d'Egitto. È noto per aver calcolato la circonferenza della Terra e il suo diametro.
Cosa sono le strutture dati e gli algoritmi?
Una struttura dati è un modo per memorizzare i dati in modo che un programma per computer possa recuperarli e modificarli. Una struttura dati è un'astrazione del linguaggio di programmazione. Può essere un'entità in sé o una parte di un'altra entità di dati. Potrebbe trattarsi di dati a sé stanti o potrebbe essere un meccanismo per l'accesso e la manipolazione di altri dati. Una struttura dati è costituita dalla definizione dei dati, dal tipo di dati, dal contenuto e dalle operazioni che possono essere applicate al contenuto. Gli algoritmi sono le procedure passo passo per risolvere un problema informatico. Ogni algoritmo è una sequenza di azioni che porterà a una soluzione al problema.