哥德巴赫猜想-一个偶数可以表示为两个素数之和

#include <iostream>
#include <math.h>
using namespace std;
int main(){
   int even,prime1,temp,prime2;
   cin>>even;//输入一个偶数
   for (prime1=3;prime1<=even/2;prime1+=2)//判断两个素数
   {
	   for (temp=2;temp<=sqrt(prime1);temp++)//判断prime1是否是素数
	   {
		   if (prime1%temp==0)
			   break;
		   
	   }
	   if (temp>sqrt(prime1))
		   prime2=even-prime1;//
	   else
		   break;
		  
       for (temp=2;temp<=sqrt(prime2);temp++)//判断prime2是否为素数
	   {
		   if (prime2%temp==0)
			   break;
		   
	   }
	if (temp>sqrt(prime2))

	    cout<<even<<" "<<prime1<<" "<<prime2<<endl;	  
   }

return 0;
}

posted @ 2012-03-29 16:37  应律  阅读(364)  评论(0编辑  收藏  举报