问题描述:
如果任意一个大于6的偶数都可以写成两个素数之和,就称其符合歌德巴赫猜想。
代码实现:
using System;
namespace Test_01
{
class Program
{
#region 判断一个数是否为素数
/// <summary>
/// 判断一个数是否为素数
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
static bool Caculate(int num)
{
if (num == 1 || num == 0 || num < 0)
return false;
else
{
for (int i = 2; i < num; i++)
{
if (num % i == 0)
return false;
}
}
return true;
}
#endregion
#region 判断一个数是否符合歌德巴赫猜想
/// <summary>
/// 判断一个数是否符合歌德巴赫猜想
/// </summary>
/// <param name="Num"></param>
/// <returns></returns>
static bool IsPrimeNumber(int Num)
{
bool flag = false;
if (Num % 2 == 0 && Num >= 2)
{
for (int j = 1; j <= Num / 2; j++)
{
bool number1 = Caculate(j);
bool number2 = Caculate(Num - j);
if (number1 && number2)
{
// Console.WriteLine("{0}={1}+{2}", j ,Num -j);
flag = true;
}
}
}
return flag;
}
#endregion
static void Main(string[] args)
{
int demo = int.Parse(Console.ReadLine());
Program program = new Program();
var Mid=IsPrimeNumber (demo);
Console.WriteLine("\n是否符合歌德巴赫猜想:\n"+"---------------\n"+Mid);
Console.ReadLine();
}
}
}
——————————
效果图
——————————
有错误之处,欢迎批评指正。