Програма C ++ для перевірки того, чи може число бути вираженим як сума двох простих чисел

Приклад перевірки, чи ціле число (введене користувачем) може бути виражене як сума двох простих чисел усіх можливих комбінацій із використанням функцій.

Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на C ++:

  • C ++ для циклу
  • C ++ if, if … else та вкладений if … else
  • Функції C ++
  • Типи користувацьких функцій у C ++

Ця програма приймає ціле додатне число від користувача і перевіряє, чи можна це число виразити як суму двох простих чисел.

Якщо число можна виразити як суму двох простих чисел, на виході відображається комбінація простих чисел.

Для виконання цього завдання створюється користувацька функція для перевірки простого числа.

Приклад: Перевірте, чи число може бути виражене як сума двох простих чисел

 #include using namespace std; bool checkPrime(int n); int main() ( int n, i; bool flag = false; cout <> n; for(i = 2; i <= n/2; ++i) ( if (checkPrime(i)) ( if (checkPrime(n - i)) ( cout << n << " = " << i << " + " << n-i << endl; flag = true; ) ) ) if (!flag) cout << n << " can't be expressed as sum of two prime numbers."; return 0; ) // Check prime number bool checkPrime(int n) ( int i; bool isPrime = true; // 0 and 1 are not prime numbers if (n == 0 || n == 1) ( isPrime = false; ) else ( for(i = 2; i <= n/2; ++i) ( if(n % i == 0) ( isPrime = false; break; ) ) ) return isPrime; ) 

Вихідні дані

 Введіть натуральне число: 34 34 = 3 + 31 34 = 5 + 29 34 = 11 + 23 34 = 17 + 17 

У цій програмі ми використовуємо checkPrime()функцію, щоб перевірити, чи є число простим чи ні.

В main(), ми беремо число від користувача і зберегти його в змінної п.

Ми також ініціалізуємо boolпрапорець змінної до false. Ми використовуємо цю змінну, щоб визначити, чи можна вхідне число виразити як суму двох простих чисел.

Потім ми повторюємо цикл від i = 2до i = n/2. У кожній ітерації ми перевіряємо, чи є простим числом чи ні.

Якщо i є простим, ми перевіряємо, чи є n - i простим чи ні.

Якщо n - i також просте, то ми знаємо, що n можна виразити як суму двох простих чисел i та n - i.

Отже, ми друкуємо результат на екрані і змінюємо значення прапора на true. В іншому випадку прапор залишається false.

Цей процес триває до закінчення циклу.

Якщо прапор нерухомий false, ми знаємо, що n не може бути виражений як сума двох простих чисел, і ми друкуємо це повідомлення на екрані.

Цікаві статті...