Prime Number Checker i Excel VBA - Enkla Excel -makron

Innehållsförteckning

Nedan kommer vi att titta på ett program i Excel VBA det där kontroller om ett tal är a primtal eller inte.

Innan du börjar: i matematik är ett primtal ett tal som har exakt två distinkta taldelare: 1 och sig själv. De minsta tjugofem primtalen är: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 och 97. Till exempel har 8 1, 2, 4 och 8 som delare och är inte ett primtal.

Situation:

1. Först deklarerar vi tre variabler. En heltalsvariabel kallar vi divisorer, en lång variabel kallar vi nummer och en lång variabel kallar vi i. Vi använder Långa variabler här eftersom Långa variabler har större kapacitet än heltalsvariabler.

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

2. Vi initierar två variabler. Vi initierar variabelns delare med värde 0. Vi använder InputBox -funktionen för att få ett nummer från användaren.

delare = 0
number = InputBox ("Ange ett nummer")

Efter att användaren har angett ett nummer vill vi kontrollera om detta nummer är ett primtal eller inte. Kom ihåg att ett primtal har exakt två distinkta taldelare: 1 och sig själv.

3. Vi startar en For Next -slinga.

För i = 1 Till nummer

4. Nu kommer den viktigaste delen av programmet. För att beräkna antalet delare av ett tal använder vi Mod -operatören. Mod -operatören ger resten av en division. Till exempel 7 mod 2 = 1 eftersom 7 dividerat med 2 är lika med 3 med återstoden av 1. Endast om 'talmod i' = 0 är i en divisor av tal. I det här fallet vill vi öka de variabla delarna med 1. Makrot nedan gör tricket.

Om nummer Mod i = 0 Då
delare = delare + 1
Avsluta om

Excel VBA kontrollerar detta för i = 1, i = 2, i = 3, i = 4 tills i = tal. Observera att i = 1 och i = tal alltid är delare av tal. Endast om dessa siffror är de enda delarna av tal, är talet ett primtal.

5. Glöm inte att stänga slingan.

Nästa i

6. Om divisorer är lika med 2 visar vi ett meddelande om att det inmatade talet är ett primtal. Om antalet delare är högre än 2, visar vi en msgbox som säger att det inmatade talet inte är ett primtal.

Om delare = 2 Då
MsgBox -nummer & "är ett primtal"
Annan
MsgBox -nummer & "är inte ett primtal"
Avsluta om

7. Testa programmet.

Resultat för 104729:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave