Controllo dei numeri primi in Excel VBA - Macro semplici di Excel

Sommario

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:

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.

Dim divisori As Integer, numero As Long, i As Long

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")

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.

Per i = 1 Al numero

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 'numero 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.

Se il numero Mod i = 0 Allora
divisori = divisori + 1
Finisci 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.

Avanti io

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.

Se divisori = 2 Allora
Numero MsgBox & "è un numero primo"
Altro
Numero MsgBox & "non è un numero primo"
Finisci se

7. Testare il programma.

Risultato per 104729:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave