哥德巴赫猜想即任意一个大于6的偶数,都可以写成两个素数的和。代码如下:
using System;using System.Collections.Generic;using System.Text; namespace ExGoldbachConjecture{ class GoldbachConjecture { public bool IsPrimeNumber(int n) { bool b = true; if (n == 1 || n == 2) b = true; else { int sqr = Convert.ToInt32(Math.Sqrt(n)); for (int i = sqr; i >= 2; i--) { if (n % i == 0) { b = false; } } } return b; } public bool goldbachConjecture(int n) { bool b = false; if (n % 2 == 0 && n > 6) { for (int i = 1; i <= n / 2; i++) { bool b1 = IsPrimeNumber(i);//判断i是否为素数 bool b2 = IsPrimeNumber(n - i);//判断n-i是否为素数 if (b1 & b2) { Console.WriteLine("{0}={1}+{2}",n,i,n-i); b = true; } } } return b; } static void Main(string[] args) { Console.WriteLine("输入一个大于6的偶数"); int n = Convert.ToInt32(Console .ReadLine ()); GoldbachConjecture g=new GoldbachConjecture (); bool b = g.goldbachConjecture(n); if (b) { Console.WriteLine("{0}能写成两个素数的和。", n); } else { Console.WriteLine("猜想错误。"); } } }}
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, 素数
, using
, bool
, system
哥德巴赫猜想
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。
时间: 2024-08-18 06:46:02