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