Kontrola prvočísla v Exceli VBA - ľahké makrá Excelu

Obsah

Nižšie sa pozrieme na program v Excel VBA že šeky či je číslo a prvočíslo alebo nie.

Než začnete: v matematike je prvočíslo číslo, ktoré má presne dvoch rozdielnych deliteľov čísel: 1 a samo osebe. Najmenších dvadsaťpäť prvočísel je: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 a 97. Napríklad číslo 8 má delitele 1, 2, 4 a 8 a nejde o prvočíslo.

Situácia:

1. Najprv deklarujeme tri premenné. Jedna celočíselná premenná, ktorú nazývame deliteľmi, jedna dlhá premenná nazývame číslo a jedna dlhá premenná, ktorú nazývame i. Tu používame dlhé premenné, pretože dlhé premenné majú väčšiu kapacitu ako celočíselné premenné.

Dim delitele ako celé číslo, číslo ako dlhé a také dlhé

2. Inicializujeme dve premenné. Inicializujeme rozdeľovače premenných s hodnotou 0. Na získanie čísla od používateľa používame funkciu InputBox.

delitelia = 0
number = InputBox („Zadajte číslo“)

Potom, čo používateľ zadá číslo, chceme skontrolovať, či je toto číslo prvočíslo alebo nie. Pamätajte si, že prvočíslo má presne dvoch odlišných deliteľov čísel: 1 a samo osebe.

3. Spustíme slučku For Next.

Pre i = 1 To číslo

4. Teraz prichádza najdôležitejšia časť programu. Na výpočet počtu deliteľov čísla používame operátor Mod. Operátor Mod dáva zvyšok delenia. Napríklad 7 mod 2 = 1, pretože 7 delené 2 sa rovná 3 so zvyškom 1. Iba ak „number mod i“ = 0, i je deliteľ čísla. V tomto prípade chceme zvýšiť variabilné delitele o 1. Makro nižšie robí svoje.

Ak je číslo Mod i = 0 Potom
delitelia = delitelia + 1
Koniec Ak

Excel VBA to skontroluje na i = 1, i = 2, i = 3, i = 4, kým i = číslo. Všimnite si toho, že i = 1 a i = číslo sú vždy deliteľmi čísla. Číslo je iba prvočíslo, iba ak sú tieto čísla jediným deliteľom čísla.

5. Nezabudnite uzavrieť slučku.

Ďalej i

6. Ak sa delitelia rovnajú 2, zobrazí sa msgbox, že zadané číslo je prvočíslo. Ak je počet deliteľov vyšší ako 2, zobrazí sa hlásenie, že zadané číslo nie je prvočíslo.

Ak delitelia = 2 Potom
Číslo MsgBox & „je prvočíslo“
Inak
Číslo MsgBox & „nie je prvočíslo“
Koniec Ak

7. Otestujte program.

Výsledok pre 104729:

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave