Priemgetalcontrole in Excel VBA - Eenvoudige Excel-macro's

Inhoudsopgave

Hieronder zullen we kijken naar een programma in Excel VBA Dat cheques of een getal een is priemgetal of niet.

Voordat je begint: in de wiskunde is een priemgetal een getal dat precies twee verschillende getaldelers heeft: 1 en zichzelf. De kleinste vijfentwintig priemgetallen zijn: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 en 97. 8 heeft bijvoorbeeld 1, 2, 4 en 8 als delers en is geen priemgetal.

Situatie:

1. Eerst declareren we drie variabelen. Eén Integer-variabele noemen we delers, één Lange variabele noemen we nummer en één Lange variabele noemen we i. We gebruiken hier lange variabelen omdat lange variabelen een grotere capaciteit hebben dan integervariabelen.

Dimdelers Als geheel getal, getal zo lang, i zo lang

2. We initialiseren twee variabelen. We initialiseren de variabele delers met waarde 0. We gebruiken de InputBox-functie om een ​​getal van de gebruiker te krijgen.

delers = 0
nummer = InputBox ("Vul een getal in")

Nadat de gebruiker een getal heeft ingevoerd, willen we controleren of dit getal een priemgetal is of niet. Onthoud dat een priemgetal precies twee verschillende getaldelers heeft: 1 en zichzelf.

3. We starten een For Next-lus.

Voor i = 1 Naar nummer

4. Nu komt het belangrijkste deel van het programma. Om het aantal delers van een getal te berekenen, gebruiken we de Mod-operator. De Mod-operator geeft de rest van een deling. Bijvoorbeeld 7 mod 2 = 1 omdat 7 gedeeld door 2 gelijk is aan 3 met een rest van 1. Alleen als 'getal mod i' = 0, is i een deler van getal. In dit geval willen we de variabele delers met 1 verhogen. De macro hieronder doet het.

Als nummer Mod i = 0 Dan
delers = delers + 1
Stop als

Excel VBA controleert dit voor i = 1, i = 2, i = 3, i = 4 tot i = nummer. Merk op dat i = 1 en i = getal altijd delers van getal zijn. Alleen als deze getallen de enige delers van getal zijn, is het getal een priemgetal.

5. Vergeet niet de lus te sluiten.

volgende i

6. Als delers gelijk zijn aan 2, geven we een msgbox weer waarin staat dat het ingevoerde getal een priemgetal is. Als het aantal delers groter is dan 2, geven we een msgbox weer met de mededeling dat het ingevoerde getal geen priemgetal is.

Als delers = 2 Dan
MsgBox-nummer & "is een priemgetal"
Anders
MsgBox-nummer & "is geen priemgetal"
Stop als

7. Test het programma.

Resultaat voor 104729:

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave