В этой программе вы научитесь проверять, может ли данное число быть выражено как сумма двух простых чисел или нет. Это делается с помощью циклов и операторов прерывания в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Методы Java
- Java для цикла
- Заявление Java if… else
Пример: представление числа как суммы двух простых чисел
public class Main ( public static void main(String() args) ( int number = 34; boolean flag = false; for (int i = 2; i <= number / 2; ++i) ( // 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) System.out.println(number + " cannot be expressed as the sum of two prime numbers."); ) // Function to check prime number static boolean checkPrime(int num) ( boolean isPrime = true; for (int i = 2; i <= num / 2; ++i) ( if (num % i == 0) ( isPrime = false; break; ) ) return isPrime; ) )
Вывод
34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17
В приведенном выше примере мы создали checkPrime()
метод, чтобы определить, является ли число простым или нет. Метод возвращает, true
если переданное число простое.
Здесь у нас есть число 34 . Программа пытается проверить, можно ли представить 34 как сумму двух простых чисел.
Работа программы
- Сначала мы запускаем
for
цикл изi = 2 to number / 2
. - Внутри
for
цикла мы использовали дваif
оператора. Первый оператор проверяет, является ли i простым или нет.
Если это правда, второйif
оператор проверяет,number - i
простое или нет. Это потому, что сумма i и number - i равна числу. - Если второе утверждение также
true
, то мы можем сказать, что число 34 является действительной суммой двух простых чисел.