Sprawdzanie liczb pierwszych w Excel VBA - Łatwe makra Excel

Spisie treści

Poniżej przyjrzymy się programowi w Excel VBA że czeki czy liczba to Liczba pierwsza albo nie.

Zanim zaczniesz: w matematyce liczba pierwsza to liczba, która ma dokładnie dwa różne dzielniki liczb: 1 i samą siebie. Najmniejsze dwadzieścia pięć liczb pierwszych to: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 i 97. Na przykład 8 ma 1, 2, 4 i 8 jako dzielniki i nie jest liczbą pierwszą.

Sytuacja:

1. Najpierw deklarujemy trzy zmienne. Jedną zmienną typu Integer nazywamy dzielnikami, jedną zmienną Long nazywamy numerem i jedną zmienną Long nazywamy i. Używamy tutaj zmiennych typu Long, ponieważ zmienne typu Long mają większą pojemność niż zmienne typu Integer.

Dim dzielniki As Integer, liczba As Long, i As Long

2. Inicjujemy dwie zmienne. Inicjujemy zmienne dzielniki wartością 0. Używamy funkcji InputBox, aby uzyskać liczbę od użytkownika.

dzielniki = 0
liczba = InputBox("Wprowadź liczbę")

Po wprowadzeniu przez użytkownika liczby chcemy sprawdzić, czy jest to liczba pierwsza, czy nie. Pamiętaj, że liczba pierwsza ma dokładnie dwa różne dzielniki liczb: 1 i samą siebie.

3. Rozpoczynamy pętlę For Next.

Dla i = 1 Do liczby

4. Teraz najważniejsza część programu. Aby obliczyć liczbę dzielników liczby, używamy operatora Mod. Operator Mod podaje pozostałą część dywizji. Na przykład 7 mod 2 = 1, ponieważ 7 podzielone przez 2 równa się 3, a reszta równa 1. Tylko jeśli „liczba mod i” = 0, i jest dzielnikiem liczby. W tym przypadku chcemy zwiększyć dzielniki zmiennych o 1. Poniższe makro załatwia sprawę.

Jeśli liczba Mod i = 0 Wtedy
dzielniki = dzielniki + 1
Zakończ, jeśli

Excel VBA sprawdza to dla i = 1, i = 2, i = 3, i = 4, aż i = liczba. Zauważ, że i = 1 oraz i = liczba zawsze są dzielnikami liczby. Tylko jeśli te liczby są jedynymi dzielnikami liczby, liczba jest liczbą pierwszą.

5. Nie zapomnij zamknąć pętli.

Dalej ja

6. Jeśli dzielniki są równe 2, wyświetlamy komunikat msgbox z informacją, że wprowadzona liczba jest liczbą pierwszą. Jeśli liczba dzielników jest większa niż 2, wyświetlamy komunikat msgbox z informacją, że wprowadzona liczba nie jest liczbą pierwszą.

Jeśli dzielniki = 2 Wtedy
Numer MsgBox & " jest liczbą pierwszą"
W przeciwnym razie
Numer MsgBox & " nie jest liczbą pierwszą"
Zakończ, jeśli

7. Przetestuj program.

Wynik dla 104729:

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave