哥德巴赫猜想的实现方式

Posted yt0817

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哥德巴赫猜想的实现方式相关的知识,希望对你有一定的参考价值。

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


以上是关于哥德巴赫猜想的实现方式的主要内容,如果未能解决你的问题,请参考以下文章

C#实现哥德巴赫猜想

Python实现Collatz序列(考拉兹猜想)

python实现哥德巴赫猜想(任何大于或者等于6的整数都可以写成2个素数之和)

项目架构的一点猜想

3n+1 猜想(python实现)

一本通1157 哥德巴赫猜想