~cpp
#include<iostream>
using namespace std;
int* set_prime_array(int* prime_array,int number);
bool check_prime_number(int n);
void find_four_number(int* prime_array,int count,int number);
int count=0; //만들어진 소수� � 수를 구한다.
void main()
{
int number = 0;
cout<<"수를 ìž…ë ¥í•˜ì„¸ìš”(단. 0<N<10000000) :";
cin>>number;
prime_array = set_prime_array(prime_array,number);
find_four_number(prime_array,count,number);
delete[] prime_array;
}
int* set_prime_array(int* prime_array,int number)
{
int* prime_array = new int[number];
for(int i=1 ; i<number ; i++)
{
if(check_prime_number(i)==true)
{
prime_array[count]=i;
count++;
}
}
return prime_array;
}
bool check_prime_number(int n)//ì „ë‹¬ë�œ ê°’ì�´ 소수ì�¸ì§€ë¥¼ íŒ�별합니다.
{
if(n==1)
return false;
else if(n==2 || n==3) //숫� 1,2,3� 소수�다.
return true;
else if(n>3)
{
for(int j=2 ; j<n ; j++)
{
if(n%j==0)
return false; //사�� 나누어 떨어지는 수가 하나�� 있으면...
}
return true; //사�� 나누어 떨어지는가 없다.
}
return false;
}
void find_four_number(int* prime_array,int count,int number)
{
int temp=0;
for(int a=0;a<count;a++)
for(int b=0;b<count;b++)
for(int c=0;c<count;c++)
for(int d=0;d<count;d++)
{
if(prime_array[a]+prime_array[b]+prime_array[c]+prime_array[d]==number)
{
cout<<prime_array[a]<<","<<prime_array[b]<<","<<prime_array[c]<<","<<prime_array[d];
cout<<endl;
temp++;
}
}
if(temp==0)
cout<<"ì¡°ê±´ì�„ 만족하는 ì •ë‹µì�€ 없습니다.!!!!";
}