Kontrola prvočísel v Excelu VBA - snadná makra Excelu

Obsah

Níže se podíváme na program v Excel VBA že kontroly zda je číslo a prvočíslo nebo ne.

Než začnete: v matematice je prvočíslo číslo, které má přesně dva odlišné dělitele čísel: 1 a samo o sobě. Nejmenších dvacet pět 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. Například 8 má 1, 2, 4 a 8 jako dělitele a není prvočíslem.

Situace:

1. Nejprve deklarujeme tři proměnné. Jednu celočíselnou proměnnou nazýváme dělitele, jednu dlouhou proměnnou nazýváme číslo a jednu dlouhou proměnnou nazýváme i. Zde používáme dlouhé proměnné, protože dlouhé proměnné mají větší kapacitu než celočíselné proměnné.

Dim dělitele jako celé číslo, číslo jako dlouhé, i tak dlouhé

2. Inicializujeme dvě proměnné. Inicializujeme děliče proměnných s hodnotou 0. Pomocí funkce InputBox získáme číslo od uživatele.

dělitelé = 0
number = InputBox ("Zadejte číslo")

Poté, co uživatel zadá číslo, chceme zkontrolovat, zda je toto číslo prvočíslo nebo ne. Pamatujte si, že prvočíslo má přesně dva odlišné dělitele čísel: 1 a samo o sobě.

3. Spustíme smyčku For Next.

Pro i = 1 na číslo

4. Nyní přichází nejdůležitější část programu. Pro výpočet počtu dělitelů čísla používáme operátor Mod. Operátor Mod udává zbytek divize. Například 7 mod 2 = 1, protože 7 děleno 2 se rovná 3 se zbytkem 1. Pouze pokud 'number mod i' = 0, i je dělitel čísla. V tomto případě chceme zvýšit dělitele proměnných o 1. Makro níže dělá trik.

Pokud číslo Mod i = 0 Pak
dělitelé = dělitelé + 1
Konec If

Excel VBA to kontroluje pro i = 1, i = 2, i = 3, i = 4, dokud i = číslo. Všimněte si, že i = 1 a i = číslo jsou vždy děliteli čísla. Pouze pokud jsou tato čísla jedinými děliteli čísla, je číslo prvočíslem.

5. Nezapomeňte uzavřít smyčku.

Příště já

6. Pokud se dělitelé rovnají 2, zobrazíme msgbox, že zadané číslo je prvočíslo. Pokud je počet dělitelů vyšší než 2, zobrazíme msgbox, že zadané číslo není prvočíslo.

Pokud dělitelé = 2 Potom
Číslo MsgBox & „je prvočíslo“
Jiný
Číslo MsgBox & „není prvočíslo“
Konec If

7. Otestujte program.

Výsledek pro 104729:

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave