U E D R , A S I H C RSS

Summation Of Four Primes/김회영

소스 코드


~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<<"조건을 만족하는 정답은 없습니다.!!!!";
}





Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0092 sec