哥德巴赫猜想的实现方式

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
//任何一个大于2的偶数都可以被分解为两个质数相加
#region 提示输入一个大于2的偶数,并保存到变量number中
int number;
while (true)
{
Console.Write("请输入一个大于2的偶数:");
number = int.Parse(Console.ReadLine());
if (number<=2 || number%2 !=0)
{
Console.Write("你输入错误,请按回车键后重新输入");
Console.ReadLine();
Console.Clear();
}
else
{
break;
}
}
#endregion
#region 把number分解为两个质数,j=number-i;i的取值范围为2--number-2
int i, j = 0;
for ( i = 2; i < number-1; i++)
{
j = number - i;
//先判断i是否为质数,否则进入下一次循环
bool isFind = false;
for (int k = 2; k < i; k++)
{
if (i%k==0)
{
isFind = true;
break;
}
else
{
//什么都不做
}
}
if (isFind)
{
//i不是质数。什么都不做
continue;
}
else
{
//i 是质数,什么都不做,继续运行代码
}
//再判断j是否为质数,若是,即i和j都是质数,结束循环
for (int k = 2; k < j; k++)
{
if (j%k==0)//j不是,则什么也不做,则会运行到最后面的大括号,继续进行下一次循环
{
isFind = true;
break;
}
else
{
//j是质数
}
}
if (isFind )
{
//j不是,则什么也不做,让代码继续运行,运行到后面的大括号会进入下一次循环。
//if可以什么也不做,因为会继续执行代码;因为不是循环,若什么也不做,会死循环。

}
else
{
//j是
break;
}
}
#endregion
#region 保存结果到result,并输出
string result = number +"="+ i +"+"+ j;
Console.WriteLine(result);
Console.ReadLine();
#endregion
}
}
}

你可能感兴趣的:(哥德巴赫猜想的实现方式)