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

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

Чтобы понять этот пример, вы должны знать следующие темы программирования на C ++:

  • C ++ для цикла
  • C ++ if, if… else и Nested 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(), мы берем число у пользователя и сохраняем его в переменной n.

Мы также инициализируем boolпеременную flag как false. Мы используем эту переменную, чтобы определить, может ли входное число быть выражено как сумма двух простых чисел.

Затем мы перебираем цикл от i = 2до i = n/2. На каждой итерации мы проверяем, является ли i простым числом.

Если i простое число, мы проверяем, является ли n - i простым или нет.

Если n - i также является простым числом, то мы знаем, что n может быть выражено как сумма двух простых чисел i и n - i.

Итак, выводим результат на экран и меняем значение флага на true. В противном случае флаг остается false.

Этот процесс продолжается до тех пор, пока цикл не закончится.

Если flag по-прежнему false, то мы знаем, что n не может быть выражено как сумма двух простых чисел, и печатаем это сообщение на экране.

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