300 Esempi

Controllo dei numeri primi

Prime Number Checker

Di seguito vedremo un programma in Excel VBA Quello assegni se un numero è a numero primo o no.





Prima di iniziare: in matematica, un numero primo è un numero che ha esattamente due divisori di numeri distinti: 1 e se stesso. I venticinque numeri primi più piccoli 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 e 97. Ad esempio, 8 ha 1, 2, 4 e 8 come divisori e non è un numero primo.

Situazione:





un grafico pivot non ha filtri disponibili.

Controllo dei numeri primi in Excel VBA

1. Innanzitutto, dichiariamo tre variabili. Una variabile Integer chiamiamo divisori, una variabile Long che chiamiamo numero e una variabile Long che chiamiamo i. Usiamo le variabili Long qui perché le variabili Long hanno una capacità maggiore delle variabili Intere.



NessunodivisoriCome Numero intero, numeroCome Lungo, ioCome Lungo

2. Inizializziamo due variabili. Inizializziamo i divisori delle variabili con valore 0. Usiamo la funzione InputBox per ottenere un numero dall'utente.

divisori = 0
numero = InputBox('Inserisci un numero')

Inserisci un numero

Dopo che l'utente ha inserito un numero, vogliamo verificare se questo numero è un numero primo o meno. Ricorda, un numero primo ha esattamente due divisori di numeri distinti: 1 e se stesso.

3. Avviamo un ciclo For Next.

qual è la funzione fv in Excel
Perio = 1Pernumero

4. Ora arriva la parte più importante del programma. Per calcolare il numero di divisori di un numero, utilizziamo l'operatore Mod. L'operatore Mod fornisce il resto di una divisione. Ad esempio, 7 mod 2 = 1 perché 7 diviso 2 è uguale a 3 con resto 1. Solo se 'number mod i' = 0, i è un divisore di numero. In questo caso vogliamo incrementare i divisori delle variabili di 1. La macro qui sotto fa il trucco.

SenumeroControio = 0Quindi
divisori = divisori + 1
Fine Se

Excel VBA controlla questo per i = 1, i = 2, i = 3, i = 4 fino a i = numero. Nota che i = 1 e i = numero sono sempre divisori di numero. Solo se questi numeri sono gli unici divisori di numero, il numero è un numero primo.

5. Non dimenticare di chiudere il ciclo.

Prossimoio

6. Se divisori è uguale a 2, visualizziamo un messaggio che dice che il numero inserito è un numero primo. Se il numero di divisori è maggiore di 2, visualizziamo un messaggio che dice che il numero inserito non è un numero primo.

Sedivisori = 2Quindi
Numero MsgBox & 'è un numero primo'
Altro
Numero MsgBox & 'non è un numero primo'
Fine Se

7. Testare il programma.

Risultato per 104729:

Risultato del controllo dei numeri primi

6/9 Completato! Scopri di più sulle affermazioni if ​​then >
Vai al capitolo successivo: Ciclo continuo



^