Co to jest liczba pierwsza?
Liczba pierwsza to liczba podzielna tylko przez 1 lub przez samą siebie. Na przykład liczba 11 jest podzielna tylko przez 1 lub przez siebie. Inne liczby pierwsze 2, 3, 5, 7, 11, 13, 17….
Uwaga: 0 i 1 nie są liczbami pierwszymi. 2 to jedyna parzysta liczba pierwsza.
Program Java, aby sprawdzić, czy liczba jest liczbą pierwszą, czy nie
Logika programu:- Musimy podzielić liczbę wejściową, powiedzmy 17 z wartości od 2 do 17 i sprawdzić resztę. Jeśli reszta to 0, liczba nie jest liczbą pierwszą.
- Żadna liczba nie jest podzielna przez więcej niż połowę samej siebie. Musimy więc przejrzeć tylko
numberToCheck/2
. Jeśli wejście wynosi 17, połowa to 8,5, a pętla będzie iterować przez wartości od 2 do 8 - Jeśli argument numberToCheck jest całkowicie podzielny przez inną liczbę, ustawiana jest flaga isPrime
true
i pętla zostaje zakończona.
public class PrimenumberToCheckCheck {public static void main (String [] args) {int reszta;boolean isPrime = true;int numberToCheck = 17; // Wpisz numberToCheckber, który chcesz sprawdzić pod kątem liczby pierwszej// Pętla, aby sprawdzić, czy liczbaToCheckber jest podzielna na dowolną liczbęToCheckber inną niż 1 i samą siebiefor (int i = 2; i <= numberToCheck / 2; i ++){// numberToCheckber jest samoczynnie nurkowanyreszta = liczba do sprawdzenia% i;System.out.println (numberToCheck + "Podzielone przez" + i + "daje resztę" + reszta);// jeśli reszta jest równa 0, to numberToCheckber nie jest liczbą pierwszą i pętlą przerwania. Elese kontynuuje pętlęjeśli (reszta == 0){isPrime = false;przerwa;}}// Sprawdź wartość true lub false, jeśli isprime jest true, to numberToCheckber jest liczbą pierwszą, w przeciwnym razie nie jest pierwsząif (isPrime)System.out.println (numberToCheck + "jest liczbą pierwsząToCheckber");jeszczeSystem.out.println (numberToCheck + "nie jest liczbą pierwsząToCheckber");}}
Wynik:
17 Divided by 2 gives a remainder 117 Divided by 3 gives a remainder 217 Divided by 4 gives a remainder 117 Divided by 5 gives a remainder 217 Divided by 6 gives a remainder 517 Divided by 7 gives a remainder 317 Divided by 8 gives a remainder 117 is a Prime Number
Sprawdź nasz program, aby znaleźć liczby pierwsze od 1 do 100