Програма Java за проверка дали дадено число може да бъде изразено като сбор от две прости числа

В тази програма ще се научите да проверявате дали дадено число може да бъде изразено като сбор от две прости числа или не. Това се прави с помощта на оператори за цикъл и прекъсване в Java.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java методи
  • Java за Loop
  • Java, ако … друго Изявление

Пример: Представете число като Сума от две прости числа

 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 и число - i е равна на число.
  • Ако и второто твърдение е true, тогава можем да кажем, че числото 34 е валидна сума от две прости числа.

Интересни статии...