码迷,mamicode.com
首页 > 其他好文 > 详细

哥德巴赫猜想

时间:2018-04-06 16:45:27      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:回车   als   判断   ==   else   输入   pos   结果   输出   

//哥德巴赫猜想:任何一个大于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);
}

哥德巴赫猜想

标签:回车   als   判断   ==   else   输入   pos   结果   输出   

原文地址:https://www.cnblogs.com/web--yang/p/8727968.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!