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