/ / Prime szám ellenőrző Excel VBA

Prime Number Checker az Excel VBA-ban

Az alábbiakban egy programot nézünk be Excel VBA hogy ellenőrzések hogy egy szám a prímszám vagy nem.

Mielőtt elkezded: a matematikában egy prímszám olyan szám, amelyen pontosan két különböző számosztó van: 1 és önmagában. A legkisebb huszonöt prímszám: 2., 3., 5., 7., 11., 13., 17., 19., 23., 29., 31., 37., 41., 43., 47., 53., 59., 61., 67., , 79, 83, 89 és 97. Például a 8-nak 1, 2, 4 és 8 osztója van nem elsődleges szám.

Helyzet:

Prime Number Checker az Excel VBA-ban

1. Először három változót deklarálunk. Egy Integer változót nevezünk osztóknak, egy Long változónak hívunk számot és egy hosszú változónak nevezzük i. Itt hosszú változókat használunk, mert a hosszú változók nagyobb kapacitással rendelkeznek, mint az Integer változók.

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

2. Két változót inicializálunk. Inicializáljuk a változó osztókat 0 értékkel. Az InputBox funkciót használjuk, hogy egy számot kapjunk a felhasználótól.

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

Adjon meg egy számot

Miután a felhasználó beírt egy számot, azt akarjuk ellenőrizni, hogy ez a szám elsőszámú-e vagy sem. Ne feledje, a prímszámnak pontosan két különböző számosztója van: 1 és maga.

3. Elindítunk egy For Next hurkot.

For i = 1 To number

4. Most jön a program legfontosabb része. A számosztók számának kiszámításához a Mod operátort használjuk. A Mod operátor adja a fennmaradó részosztályt. Tehát a 7 mod 2 az 1. 7-et kétszer osztja meg (3-szor), hogy maradék 1 maradjon. Csak akkor, ha a "szám mod i" egyenlő 0, i a számosztó. Ebben az esetben a változók osztóit 1-tel növeljük. Az alábbi makró a trükk.

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

Az Excel VBA ellenőrzi ezt i = 1, i = 2, i = 3, i= 4, amíg i = szám. Megjegyezzük, hogy i = 1 és i = a szám mindig a számosztók. Csak akkor, ha ezek a számok csak a számosztók száma, a szám elsőszámú.

5. Ne felejtse el bezárni a hurkot.

Next i

6. Ha a partícionálók egyenlőnek a 2-vel, megjelenik egy msgbox mondván, hogy a beírt szám elsőszámú. Ha a partí- pusok száma nagyobb, mint 2, egy msgbox-ot jelenítünk meg, mondván, hogy a bevitt szám nem elsődleges szám.

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

7. Vizsgálja meg a programot.

104729 eredmény:

Prime Number ellenőrző eredmény

Szintén olvasható: