示例 1:使用 for-in 循环检查素数的程序
fun main(args: Array<String>) {
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.")
}
运行程序后,输出将是
29 is a prime number.
与上面的 Java 程序一样,这里使用 for 循环来确定给定的数字 num 是否是素数。我们只需要循环遍历 2 到 num 的一半,因为没有数字能被大于它本身一半的数字整除。
在 for 循环中,我们检查该数字是否能被给定范围 (2..num/2)
中的任何数字整除。如果能,则将 flag 设置为 true
并跳出循环。这表明 num 不是素数。
如果 num 不能被任何数字整除,则 flag 为 false,num 是素数。
这是等效的 Java 代码: Java 检查素数的程序
示例 2:使用 while 循环检查素数的程序
fun main(args: Array<String>) {
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.")
}
运行程序后,输出将是
33 is not a prime number.
在上面的程序中,使用 while 循环代替了 for 循环。循环运行直到 i <= num/2
。在每次迭代中,会检查 num 是否能被 i 整除,并将 i 的值增加 1。
访问此页面了解如何 显示两个区间之间的所有素数。