在c#用控制语句完成哥德巴赫猜想(一个大于二的偶数一定是两个质数之和)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#用控制语句完成哥德巴赫猜想(一个大于二的偶数一定是两个质数之和)相关的知识,希望对你有一定的参考价值。

思路:首先分析判断,整个程序都是重复输入数字,所以整个过程都是在一个死循环语句中,这是就可以用一个whil语句,条件为true;其次对用户输入的数字input进行判断,去除小于等于2和大于2的基数,剩下的数字就能满足条件了;再然后找出1-input之间的的一个质数i;这是定义一个k,k等于input-i;再判断i,如果i也是质数,那就可以输出input=i+k;最终完成计算。(当编码太多时,最好创建区间来分开,这易于分析和找错)

代码如下:

while (true)
{

Console.Write("请输入一个大于2的偶数:");
int input = int.Parse(Console.ReadLine());
#region\\去除小于等于2的数
if (input <= 2)
{
Console.Write("输入有误,请按回车键重新输入!");
Console.ReadLine();
Console.Clear();
}
#endregion
else
{
#region//去除基数
if (input % 2 != 0)
{
Console.Write("输入有误,请按回车键重新输入!");
Console.ReadLine();
Console.Clear();
}
#endregion

else
{


for (int i = 2; i <( input/2)+1; i++)
{
bool falg = false;
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
falg = true;
}

}
if (!falg)
{
int k = input - i;
if(k>1){
bool abc = false;
for (int x = 2; x < k; x++)
{
if (k % x == 0)
{
abc = true;
}
}
if (!abc)
{
Console.Write(input + "=" + i + "+" + k);
Console.ReadLine();
Console.Clear();
}
}

}
}


}

}
}

以上是关于在c#用控制语句完成哥德巴赫猜想(一个大于二的偶数一定是两个质数之和)的主要内容,如果未能解决你的问题,请参考以下文章

哥德巴赫猜想的代码实现和分析

C#实现哥德巴赫猜想

定义未赋值问题

uva 10168 哥德巴赫猜想

实验1: 验证歌德巴赫猜想 (统计其关键语句的执行次数(Java代码实现) & 绘制规模-执行次数散点图)

歌德巴赫猜想