C#哥德巴赫猜想

哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和。

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个大于2的偶数:");
            int num = int.Parse(Console.ReadLine());
            if(num <= 2)
            {
                Console.WriteLine("输入错误,该数小于等于2");
            }
            else if (num % 2 != 0)
            {
                Console.WriteLine("输入错误,该数不是偶数");
            }
            else
            {
                int i, j = 0;
                for (i = 2; i < num - 1; i++)
                {
                    bool flag = false;// true是合数 false是质数
                    j = num - i;
                    //先判断i是否为质数
                    for (int k = 2; k < i; k++)
                    {
                        if (i % k == 0)
                        {
                            flag = true;
                            break;
                        }
                    }
                    if (flag)//不是质数
                    {
                        continue;
                    }
                    flag = false;
                    //判断j是否为质数
                    for (int k = 2; k < j; k++)
                    {
                        if (j % k == 0)
                        {
                            flag = true;
                            break;
                        }
                    }
                    if (!flag)//是质数
                    {
                        break;
                    }
                }
                Console.WriteLine(i + "/" + j);
            }
        }
    }
}

 

转载于:https://my.oschina.net/u/3695701/blog/1542159