C#歌德巴赫猜想的算法

哥德巴赫猜想即任意一个大于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

C#歌德巴赫猜想的算法的相关文章

main函数-歌德巴赫猜想素数的有关问题

问题描述 歌德巴赫猜想素数的有关问题 4.(可选,但还是建议做一下)素数的有关问题. (1)首先读懂并修改代码中存在的错误: (2)去掉isPrime中的flag变量,用return语句替代. (3)歌德巴赫猜想是指任意的一个偶数都可以拆分为两个素数的和,修改main函数,使之能接受用户输入的偶数,然后输出两个素数,这两个素数的和等于用户输入的数值. #include int isPrime(int x){ /* 函数用来判断x是否为素数,例如isPrime(5)返回1, 表示5为素数. isP

VMware内存机制的空闲内存税算法

我曾经在vmsky的论坛发表过一篇探讨VMware内存机制的帖子(见此http://bbs.vmsky.com/thread-23285-1-2.html),最后探讨的例子是一个考虑了空闲内存税(Idle Memory Tax,以下简称IMT)情况下的内存分配计算,但遗憾的是当时猜想的算法是错误的.今天在阅读了Carl的关于内存机制的论文后,深感有必要重新说明一下. 空闲内存税(Idle Memory Tax)是VMware为了更有效地利用主机内存而设置的,它在计算如何分配主机内存的时候,将VM

素数判定算法的实现_C 语言

1. 素数判定问题 素数判定问题是一个非常常见的问题,本文介绍了常用的几种判定方法. 2. 原始算法 素数的定义是,除了能被1和它本身整除而不能被其他任何数整除的数.根据素数定义 只需要用2到n-1去除n,如果都除不尽,则n是素数,否则,只要其中有一个数能整除则n不是素数. 复制代码 代码如下: bool is_primer1(int num) {     int i;     for(i = 2; i < num; i++) {       if(num % i == 0) {        

关于NP,NP-hard,P,NPC等相关问题的讨论【转帖】

   你会经常看到网上出现"这怎么做,这不是NP问题吗"."这个只有搜了,这已经被证明是NP问题了"之类的话.你要知道,大多数人此时所说的NP问题其实都是指的NPC问题.他们没有搞清楚NP问题和NPC问题的概念.NP问题并不是那种"只有搜才行"的问题,NPC问题才是.好,行了,基本上这个误解已经被澄清了.下面的内容都是在讲什么是P问题,什么是NP问题,什么是NPC问题,你如果不是很感兴趣就可以不看了.接下来你可以看到,把NP问题当成是NPC问题是

整数的素数和分解

[问题描述] 歌德巴赫猜想说任何一个不小于6的偶数都可以分解为两个奇素数之和.对此问题扩展,如果一个整数能够表示成两个或多个素数之和,则得到一个素数和分解式.对于一个给定的整数,输出所有这种素数和分解式.注意,对于同构的分解只输出一次(比如5只有一个分解2 + 3,而3 + 2是2 + 3的同构分解式). 例如,对于整数8,可以作为如下三种分解: (1) 8 = 2 + 2 + 2 + 2 (2) 8 = 2 + 3 + 3 (3) 8 = 3 + 5 [算法分析] 由于要将指定整数N分解为素数

线程-C#进度条能否根据代码的执行进度来加载进度?

问题描述 C#进度条能否根据代码的执行进度来加载进度? 我在网上搜索了下资料,大部分都是使用Timer控件或者线程来进行,但是最终都是根据计算结果来写出一个MaxValue和一个Value来计算并且填充进度条 但是计算的话总感觉不是很准确,我如今遇到了一个比较棘手的难关(对于我而言),有个界面的树在读取数据库进行绑定的时候会显得非常慢,但是设定进度条的时间长短根本无法确定,以及代码例如(链接TCP之类的)断开链接也会产生卡主的状况,但是由于线程的关系,进度条依然显示完毕了. 使得我非常的头疼,因

哥德巴赫猜想

nefu 2 歌德巴赫猜想: 代码如下: #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn=16777216; bool data[maxn]; void sushu() { memset(data,1,sizeof(data)); for(int i=2;i<maxn;i++) { if(data[i]) for(long lo

Codeforces 584 D. Dima and Lisa ( Codeforces Round #324 (Div. 2))

D. Dima and Lisa time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Dima loves representing an odd number as the sum of multiple primes, and Lisa loves it when there are at most three primes.

方正:创新是第一生产力

方正的持续创新故事,反映出创新.科技与商业成功之间复杂的三角关系.作为中国曾经的旗帜性高科技公司,当源自技术创新的动力遭遇瓶颈,方正面临所有企业共同的大考:如何既做大又做强.和很多同规模的中国企业一样,方正走进了资本市场,走上了多元道路.但接下来的故事属于他自己:以人和钱为主线的内部管理创新改造自身,发展出新的动力,再反哺到多元产业链,使其解放出从技术到商业模式的新的创新.方正的定位也因此而改变为一家投资控股集团.这条道路虽然不一定具有普适性,甚至不一定能获得所有人的认同,但它符合创新一词的提出