哥德巴赫猜想

//哥德巴赫猜想:任何一个大于2的欧式偶数,都可以被分解为两个质数想加

int num;
while (true)
{
Console.Write("请输入一个大于2的偶数:");
num = int.Parse(Console.ReadLine());
if (num <= 2 || num % 2 != 0)
{
Console.Write("错误,按回车后重新输入");
Console.ReadLine();
Console.Clear();
}
else
break;
}
//分解num,找到两个质数,它们的和等于num,把它们分别保存在变量i和j中
//i : 2---num-2
int i,j=0;
for ( i = 2; i < num-1; i++)
{

j=num-i;
//先判断i是不是质数,如果不是则进入下一个循环
bool isfind=false;
for (int k = 2; k <=i; k++)
{ if (i%k==0)
{ isfind =true ; 
break ;
}
}
if (isfind)
{//不是质数
continue;
}
//判断j是不是质数,如果是,i和j就是结果,结束循环
isfind=false;
for (int k = 2; k <j ; k++)
{ if (j%k==0)
{ isfind =true;
break;
}
}
if (!isfind)
{//不是质数 
break ;
}


}
//输出结果
string result=num+"="+i+"+"+j;
Console.WriteLine(result);
}

  

posted @ 2018-04-06 15:58  web__yang  阅读(133)  评论(0编辑  收藏  举报