Kotlin 判断数字是否为质数的程序

示例 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。

访问此页面了解如何 显示两个区间之间的所有素数

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战