Prime Number Checker in Excel VBA
Qui di seguito ci guardiamo un programma in Excel VBA che controlla se un numero è un numero primo o no.
Prima di iniziare: in matematica, un numero primo è un numero che ha esattamente due distinti divisori numero: 1 e se stesso. I piccoli venticinque numeri primi 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:
-
In primo luogo, si dichiara tre variabili. Una variabile Integer chiamiamo divisori, una variabile lungo che chiamiamo numero e una variabile lungo che noi chiamiamo i. Noi utilizzare le variabili a lungo qui, perché le variabili lunghi hanno una capacità maggiore di variabili intere.
Dim divisors As Integer, number As Long, i As Long
-
si inizializza due variabili. Inizializziamo i divisori variabile con valore 0. Si utilizza la funzione InputBox per ottenere un numero da parte dell’utente.
divisors = 0 number = InputBox("Enter a number")
Dopo che l’utente ha inserito un numero, vogliamo verificare se questo numero è un numero primo o no. Ricordate, un numero primo ha esattamente due distinti divisori numero: 1 e se stesso.
-
Iniziamo un ciclo For Next.
For i = 1 To number
-
Ora arriva la parte più importante del programma. Per calcolare il numero di divisori di un numero, usiamo l’operatore Mod. L’operatore MOD dà il resto di una divisione. Così 7 mod 2 darebbe 1. 7 è diviso per 2 (3 volte) per dare un resto di 1. Solo se “numero i mod’ è uguale a 0, i è un divisore di serie. In questo caso vogliamo incrementare la variabile divisori di 1. la seguente macro fa il trucco.
If number Mod i = 0 Then divisors = divisors + 1 End If
controlli Excel VBA questo per i = 1, i = 2, i = 3, i = 4 finché i = numero ||||. |. si noti che i = 1 i = numero sempre sono divisori di numero Solo se questi numeri sono gli unici divisori di numero, il numero è un numero primo
-
non dimenticare di chiudere il ciclo..
-
Se divisori è uguale a 2, visualizziamo un msgbox dicendo che il numero inserito è un numero primo. Se il numero di divisori è superiore a 2, visualizziamo un msgbox dicendo che il numero immesso non è un numero primo
Next i
-
test del programma
If divisors = 2 Then MsgBox number & " is a prime number" Else MsgBox number & " is not a prime number" End If
Risultato per 104729:..