W tym artykule nauczysz się sprawdzać, czy liczba jest liczbą pierwszą, czy nie. Odbywa się to za pomocą pętli for-in w Kotlinie.
Przykład 1: Program do sprawdzania liczby pierwszej za pomocą pętli for-in
fun main(args: Array) ( val num = 29 var flag = false for (i in 2… num / 2) ( // condition for nonprime number if (num % i == 0) ( flag = true break ) ) if (!flag) println("$num is a prime number.") else println("$num is not a prime number.") )
Po uruchomieniu programu wynik będzie następujący:
29 to liczba pierwsza.
Podobnie jak Java, w powyższym programie pętla for służy do określenia, czy podana liczba num jest liczbą pierwszą, czy nie. Musimy tylko przejść przez 2 do połowy liczby, ponieważ żadna liczba nie jest podzielna przez więcej niż jej połowę.
Wewnątrz pętli for sprawdzamy, czy liczba jest podzielna przez dowolną liczbę z podanego zakresu (2… num/2)
. Jeśli tak, flaga jest ustawiana na true
i wyrywamy się z pętli. Oznacza to, że num nie jest liczbą pierwszą.
Jeśli liczba nie jest podzielna przez żadną liczbę, flaga ma wartość fałsz, a liczba jest liczbą pierwszą.
Oto równoważny kod Java: Program Java do sprawdzania liczby głównej
Przykład 2: Program do sprawdzania liczby pierwszej za pomocą pętli while
fun main(args: Array) ( val num = 33 var i = 2 var flag = false while (i <= num / 2) ( // condition for nonprime number if (num % i == 0) ( flag = true break ) ++i ) if (!flag) println("$num is a prime number.") else println("$num is not a prime number.") )
Po uruchomieniu programu wynik będzie następujący:
33 nie jest liczbą pierwszą.
W powyższym programie pętla while jest używana zamiast pętli for. Pętla działa do i <= num/2
. W każdej iteracji sprawdzane jest, czy liczba jest podzielna przez i, a wartość i jest zwiększana o 1.
Odwiedź tę stronę, aby dowiedzieć się, jak wyświetlić wszystkie liczby pierwsze między dwoma interwałami.