# Kotlin 程序：检查一个数字是否可以表示为两个质数之和

> 原文： [https://www.programiz.com/kotlin-programming/examples/sum-prime-numbers](https://www.programiz.com/kotlin-programming/examples/sum-prime-numbers)

#### 在该程序中，您将学习检查给定的数字是否可以表示为两个质数之和。 这是通过 Kotlin 中的循环和`break`语句完成的。

为了完成此任务，创建了`checkPrime()`函数。

如果传递给函数的数字是[质数](/kotlin-programming/examples/prime-number "Check prime number in Kotlin programming")，则`checkPrime()`返回 1。

## 示例：作为两个质数之和的整数

```kt
fun main(args: Array<String>) {
    val number = 34
    var flag = false
    for (i in 2..number / 2) {

        // condition for i to be a prime number
        if (checkPrime(i)) {

            // condition for n-i to be a prime number
            if (checkPrime(number - i)) {

                // n = primeNumber1 + primeNumber2
                System.out.printf("%d = %d + %d\n", number, i, number - i)
                flag = true
            }

        }
    }

    if (!flag)
        println("$number cannot be expressed as the sum of two prime numbers.")
}

// Function to check prime number
fun checkPrime(num: Int): Boolean {
    var isPrime = true

    for (i in 2..num / 2) {
        if (num % i == 0) {
            isPrime = false
            break
        }
    }

    return isPrime
}
```

运行该程序时，输出为：

```kt
34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 17

```

以下是等效的 Java 代码： [Java 程序：将一个数字表示为两个数字的总和](/java-programming/examples/sum-prime-numbers "Java Program to Check Whether a Number can be expressed as a sum of two numbers")。