Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

숫자를 두 소수의 합으로 표현할 수 있는지 확인하는 C++ 프로그램

<시간/>

다음은 두 소수의 합으로 숫자를 표현할 수 있는지 확인하는 예입니다.

예시

#include <iostream>
using namespace std;
int func(int num) {
   int i;
   int flag = 1;
   for(i = 2; i <= num/2; ++i) {
      if(num % i == 0) {
         flag = 0;
         break;
      }
   }
   return flag;
}
int main() {
   int num , i;
   cout << "Enter a number : \n";
   cin >> num;
   for(i = 2; i <= num/2; ++i) {
      if (func(i)) {
         if (func(num - i)) {
            cout << num << " = " << i << " + " << num-i << endl;
         }
      }
   }
   return 0;
}

출력

Enter a number : 18
18 = 5 + 13
18 = 7 + 11

위의 프로그램에서 func() 함수는 숫자가 소수인지 아닌지를 확인하고 있습니다.

int func(int num) {
   int i;
   int flag = 1;
   for(i = 2; i <= num/2; ++i) {
      if(num % i == 0) {
         flag = 0;
         break;
      }
   }
   return flag;
}

main() 함수에서는 사용자가 숫자를 입력합니다. 두 소수의 합으로 숫자를 계산합니다.

cout << "Enter a number : \n";
cin >> num;
for(i = 2; i <= num/2; ++i) {
   if (func(i)) {
      if (func(num - i)) {
         cout << num << " = " << i << " + " << num-i << endl;
      }
   }
}