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:

Prime Number Checker in Excel VBA

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

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.

  1. Iniziamo un ciclo For Next.

For i = 1 To number
  1. 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

  1. non dimenticare di chiudere il ciclo..

  2. 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
  1. 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:..

Prime Number Checker Result