W tym programie nauczysz się sprawdzać, czy daną liczbę można wyrazić jako sumę dwóch liczb pierwszych, czy nie. Odbywa się to za pomocą pętli i instrukcji przerwania w Kotlinie.
Aby wykonać to zadanie, checkPrime()
tworzona jest funkcja.
Do checkPrime()
zwraca 1, jeśli liczba przekazywany do funkcji jest liczbą pierwszą.
Przykład: liczba całkowita jako suma dwóch liczb pierwszych
fun main(args: Array) ( 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", 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 )
Po uruchomieniu programu wynik będzie następujący:
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
Oto odpowiednik kodu Java: Program Java reprezentujący liczbę jako sumę dwóch liczb.