哥德巴赫猜想:任意一個大於6的偶數都可以寫成兩個素數的和(素數:除了1和它本身以外不再被其他的除數整除。)
<span style="font-size:18px;">class Program
{
static void Main(string[] args)
{
Console.WriteLine("請輸入一個大於6的偶數:");
int intNum = Convert.ToInt32(Console.ReadLine());
bool blFlag = ISGDBHArith(intNum);
if (blFlag)
{
Console.WriteLine("{0}能寫成兩個素數的和,所以其符合哥德巴赫猜想。", intNum);
}
else
{
Console.WriteLine("猜想錯誤。");
}
Console.Read();
}
static bool IsPrimeNumber(int intNum)
{
bool blFlag = true;
if (intNum == 1 || intNum == 2)
blFlag = true;
else
{
int sqr = Convert.ToInt32(Math.Sqrt(intNum));
for (int i = sqr; i >= 2; i--)
{
if (intNum % i == 0)
{
blFlag = false;
}
}
}
return blFlag;
}
static bool ISGDBHArith(int intNum)
{
bool blFLag = false;
if (intNum % 2 == 0 && intNum > 6)
{
for (int i = 1; i <= intNum / 2; i++)
{
bool bl1 = IsPrimeNumber(i);
bool bl2 = IsPrimeNumber(intNum - i);
if (bl1 & bl2)
{
Console.WriteLine("{0}={1}+{2}",intNum, i, intNum - i);
blFLag=true ;
}
}
}
return blFLag;
}
}</span>
思想:1.將大於6的偶數拆成任意兩個數
2.判斷這兩個數是否爲素數