/ / Prima verificare a numerelor în Excel VBA

Prime Number Checker în Excel VBA

Mai jos ne vom uita la un program în Excel VBA acea verificări dacă un număr este a număr prim sau nu.

Inainte sa incepi: în matematică, un număr prime este un număr care are exact două divizoare distincte: 1 și el însuși. Cele mai mici douăzeci și cinci de numere prime sunt: ​​2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 și 97. De exemplu, 8 are 1, 2, 4 și 8 ca divizori și este nu un număr prime.

Situatie:

Prime Number Checker în Excel VBA

1. În primul rând, declarăm trei variabile. O variabilă Integer pe care o numim divizori, o variabilă lungă numim numărul și o variabilă lungă pe care o numim i. Folosim aici variabile lungi deoarece variabilele lungi au o capacitate mai mare decât variabilele întregi.

Dim divisors As Integer, number As Long, i As Long

2. Inițializăm două variabile. Inițializăm divizoarele variabilei cu valoarea 0. Folosim funcția InputBox pentru a obține un număr de la utilizator.

divisors = 0
number = InputBox("Enter a number")

Introduceți un număr

După ce utilizatorul a introdus un număr, dorim să verificăm dacă acest număr este un număr prime sau nu. Amintiți-vă că un număr prime are exact doi divizori distincti: 1 și el însuși.

3. Începem o buclă For Next.

For i = 1 To number

4. Acum vine cea mai importantă parte a programului. Pentru a calcula numărul de divizori ai unui număr, folosim operatorul Mod. Operatorul Mod dă restul unei diviziuni. Deci 7 mod 2 ar da 1. 7 este împărțit de 2 (3 ori) pentru a da un rest de 1. Numai dacă "numărul mod i" este egal cu 0, i este un divizor al numărului. În acest caz, vrem să creștem divizorii variabili cu 1. Macroul de mai jos face trucul.

If number Mod i = 0 Then
    divisors = divisors + 1
End If

Excel VBA verifică acest lucru pentru i = 1, i = 2, i = 3, i= 4 până la i = număr. Rețineți că i = 1 și i = numărul sunt întotdeauna divizori ai numărului. Doar dacă aceste numere sunt singurii divizori ai unui număr, numărul este un număr prime.

5. Nu uitați să închideți bucla.

Next i

6. Dacă divizorii sunt egali cu 2, afișăm un msgbox care spune că numărul introdus este un număr prime. Dacă numărul de divizori este mai mare de 2, afișăm un msgbox care spune că numărul introdus nu este un număr prime.

If divisors = 2 Then
    MsgBox number & " is a prime number"
Else
    MsgBox number & " is not a prime number"
End If

7. Testați programul.

Rezultatul pentru 104729:

Rezultatul verificării primului număr

De asemenea, citiți: