다음은 두 소수의 합으로 숫자를 표현할 수 있는지 확인하는 예입니다.
예시
#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; } } }