在本文中,您將學(xué)習(xí)檢查數(shù)字是否為質(zhì)數(shù)。這是在Kotlin中使用for-in循環(huán)完成的。
fun main(args: Array<String>) { val num = 29 var flag = false for (i in 2..num / 2) { //非質(zhì)數(shù)的條件 if (num % i == 0) { flag = true break } } if (!flag) println("$num 是質(zhì)數(shù).") else println("$num 不是質(zhì)數(shù).") }
運(yùn)行該程序時(shí),輸出為:
29 是質(zhì)數(shù).
與Java一樣,在上面的程序中,for循環(huán)用于確定給定數(shù)字num是否為質(zhì)數(shù)。
在for循環(huán)中,我們檢查這個(gè)數(shù)字是否可以被給定范圍(2..num/2)中的任何數(shù)字整除。如果是,則flag設(shè)置為true,我們將跳出循環(huán)。這決定了num不是質(zhì)數(shù)。
若num不能被任何數(shù)字整除,則flag為false,num為質(zhì)數(shù)。
以下是等效的Java代碼:用于檢查素?cái)?shù)的Java程序
fun main(args: Array<String>) { val num = 33 var i = 2 var flag = false while (i <= num / 2) { //非質(zhì)數(shù)的條件 if (num % i == 0) { flag = true break } ++i } if (!flag) println("$num 是質(zhì)數(shù).") else println("$num 不是質(zhì)數(shù).") }
運(yùn)行該程序時(shí),輸出為:
33 不是質(zhì)數(shù)
在上面的程序中,使用while循環(huán)代替for循環(huán)。循環(huán)將一直運(yùn)行到i<=num/2。在每次迭代中,檢查num是否可以被i整除,并且i的值遞增1。
訪問此頁面以了解如何顯示兩個(gè)時(shí)間間隔之間的所有質(zhì)數(shù)。