V tomto článku sa naučíte skontrolovať, či je číslo prvočíslo alebo nie. To sa deje pomocou slučky for-in v Kotline.
Príklad 1: Program na kontrolu prvočísla pomocou slučky 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 spustení programu bude výstup:
29 je prvočíslo.
Rovnako ako Java, aj vo vyššie uvedenom programe sa slučka for používa na určenie, či je dané číslo num prvočíslo alebo nie. Musíme prechádzať iba cez 2 až polovicu čísla, pretože žiadne číslo nie je deliteľné viac ako jeho polovica.
Vo vnútri cyklu for skontrolujeme, či je číslo deliteľné ľubovoľným číslom v danom rozsahu (2… num/2)
. Ak je, príznak je nastavený na true
a my sa vymaníme zo slučky. To určuje, že číslo nie je prvočíslo.
Ak num nie je deliteľné žiadnym číslom, príznak je false a num je prvočíslo.
Tu je ekvivalentný kód Java: Program Java na kontrolu prvočísla
Príklad 2: Program na kontrolu prvočísla pomocou cyklu 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 spustení programu bude výstup:
33 nie je prvočíslo.
Vo vyššie uvedenom programe sa slučka while používa namiesto slučky for. Slučka beží až do i <= num/2
. Pri každej iterácii sa kontroluje, či je num deliteľné číslom i a hodnota i sa zvyšuje o 1.
Na tejto stránke nájdete informácie o tom, ako môžete zobraziť všetky prvočísla v dvoch intervaloch.