这两天不知道为什么,总是在想一些儿时的问题,记得哥德巴赫猜想是小时候觉得很神秘的一种理论,现在再想这个问题,我就用C#来实现它,贴出来供大家一起研究下,有什么好的建议一块讨论讨论:

在这里有个问题我实现不了,就是计算机的无限大表示,要彻底证明这个理论,我想还是得借助无限大,这就不是我能证明的了,估计也不是我的计算机能承担住的负荷了。

using System;

using System.Collections.Generic;

using System.Text;

namespace 哥德巴赫猜想

{

class Program

{

static void Main(string[] args)

{

//哥德巴赫猜想大致可以分为两个猜想:

//1.每个不小于6的偶数都可以表示为两个奇素数之和;

//2.每个不小于9的奇数都可以表示为三个奇素数之和。

int Number;

try

{

//循环输入

for (; ; )

{

Console.WriteLine("哥德巴赫猜想大致可以分为两个猜想:");

Console.WriteLine("1.每个不小于6的偶数都可以表示为两个奇素数之和;");

Console.WriteLine("2.每个不小于9的奇数都可以表示为三个奇素数之和。");

Console.Write("请随意输入一个大于7的数:" + "/n");

//接收关键字

Number = int.Parse(Console.ReadLine());

//判断是哥德巴赫猜想的第一定理还是第二定理

if (Number >= 6 && Number%2 == 0)

{

//Console.Write(Number);

//Console.Write(Math.Sqrt(Number));

//Console.Write(IsPrimeNumber(Number));

//Console.Write("/n");

//IsPrimeNumber(Number);

Expression_1(Number);

//OuShu(Number);

}

else

{

if (Number >= 9 && Number % 2 == 1)

{

Expression_2(Number);

}

else

{

Console.WriteLine("输入有误");

break;

}

}

}

}

catch (Exception)

{

Console.WriteLine("你输入的不是数字,请输入数字·····");

}

}

//在输入一个数字之后,将所有小于它的符合第一定理的偶数以及表达式输出

public static bool OuShu(int m)

{

bool yes = false;

for (int i = 0; i <= m; i++)

{

if (i % 2 == 0 && i > 6)

{

Console.WriteLine("偶数" + i + "可表示为:");

Console.Write("/n");

Expression_1(i);

yes = true;

}

}

return yes;

}

//判断素数并且以表达式的形式输出

public static bool Expression_1(int n)

{

bool yes = 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);

Console.Write("/n");

yes = true;

}

}

}

return yes;

}

//支持第二定理的简易证法

public static bool Expression_1_1(int n)

{

bool yes = false;

if (n % 2 == 0 && n > 6)

{

yes = true;

}

return yes;

}

//证明第二定理并且输出表达式

public static bool Expression_2(int m)

{

bool yes = false;

if (m > 9 && m % 2 == 1)

{

for (int i = 1; i <= m / 2; i++)

{

bool b1 = IsPrimeNumber(i);

//bool b2 = Expression_1_1(m-i);

for (int j = 1; j < i / 2; j++)

{

bool b2 = IsPrimeNumber(j);

bool b3 = IsPrimeNumber(m - i - j);

if (b1 & b2 & b3)

{

Console.WriteLine("{0}={1}+{2}+{3}", m, i,j, m - i-j);

Console.WriteLine("/n");

yes = true;

}

}

}

}

return yes;

}

//判断素数

public static bool IsPrimeNumber(int m)

{

bool yes = false;

int j = 2;

for (; j <= Math.Sqrt(m); j++)

{

if (m % j == 0)

{

return yes;

}

}

return yes = true;         }     } }

哥德巴赫猜想c#语言,哥德巴赫猜想 C#相关推荐

  1. 忽明忽暗的灯闪烁c语言程序,想一瞬间变成天上忽明忽暗的云。

    原标题:想一瞬间变成天上忽明忽暗的云. 那一天我二十一岁,在我一生的黄金时代,我有好多奢望.我想爱,想吃,还想在一瞬间变成天上半明半暗的云,后来我才知道,生活就是个缓慢受锤的过程,人一天天老下去,奢望 ...

  2. 本周AI热点回顾:「时空版」Transformer训练速度远超3D CNN;拒绝内卷的AI狼火了!不想抓羊只想躺!...

    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍点击左上方蓝字关注我们 01 「时空版」Transformer训练速度远超3D CNN,提速3倍! Facebook AI推出了全新的视频理解架构TimeSform ...

  3. 如何用计算机语言表达我想你,表达我想你的唯美句子

    表达我想你的唯美句子 表达我想你的唯美句子一 1.想你,是一种美丽的忧伤的甜蜜的惆怅,心里面,却是一种用任何语言也无法表达的温馨. it is graceful grief and sweet sad ...

  4. 博士毕业后,想继续科研,想进高校任教,需要什么条件呢?

    博士毕业后,想继续科研,想进高校任教,成为人人敬仰的教授,需要什么条件呢? 今天根据不同地区盘点起来,现在就可以准备起来了.首先,学术成果是关键,那么有没有前人的经验可以参考呢?分享一篇知乎高赞回答, ...

  5. 为什么你不想学习?只想玩?人是如何一步一步废掉的

    不知道是不是只有我这样子,还是你们也有过类似的经历. 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了... 什么?你说不知道具体的情况是怎么样 ...

  6. 20多岁,你迷茫又着急。你想要房子你想要汽车,你想要旅行你想要享受生活。 你那么年轻却窥觑整个世界

    20多岁,你迷茫又着急.你想要房子你想要汽车,你想要旅行你想要享受生活.你那么年轻却窥觑整个世界,你那么浮躁却想要看透生活. 一.别急,千万别急  上周在南京出差,深夜拖着疲惫去跟朋友见面,畅谈至凌晨 ...

  7. 我想爱,想吃,还想在一瞬间变成天上半明半暗的云。

    好像很久没写东西了,想写点什么,那就随便聊聊吧. 在活着的二十几载里如果没有重大变故好像很少能够想起来之前到底做了什么事情,甚至生离死别似乎也没有了太多的记忆.感觉时间飘飘忽忽莫名其妙就飞走了,抬手一 ...

  8. OSChina 周四乱弹 —— 不想写代码,想划水

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) [今日歌曲] @胖达panda :分享Jem的单曲<Yellow>: &l ...

  9. 不想上班,又想挣钱怎么办

    如果你不想上班却又想挣钱,你可以考虑以下几种选择: 考虑开始创业.如果你有好的创意和组织能力,可以尝试自己创业.这样你就可以自己安排工作时间,并且在自己的业务发展得好的情况下可以获得更多的收益. 考虑 ...

  10. 运营前线1:一线运营专家的运营方法、技巧与实践01运营简史:你想知道及不想知道的一切...

    01 运营简史:你想知道及不想知道的一切 作者简介 李少加 本名李少佳,<进化式运营>作者,互联网企业运营高管.人人都是产品经理专栏作家,起点学院优秀导师.运营专业研究者,擅于跨学科整合基 ...

最新文章

  1. Python Web学习笔记之Python多线程基础
  2. C++写#pragma warning(disable 4786)的作用
  3. egg --- 初始化一个egg项目基本结构说明
  4. 火焰传感器工作原理_不同接近传感器工作原理
  5. Swift3 数组复制
  6. 挽救数据库性能的 30 条黄金法则 | 原力计划
  7. mybatis mysql 模糊查询语句_mybatis+Spring mysql的模糊查询问题
  8. SAP软件财务月结之往来重分类
  9. 看地形地貌下载什么地图?看地形地貌软件介绍
  10. Prometheus+k8s之告警通知
  11. NFT因无意义而美丽
  12. 小程序根据不同用户,显示不同tabBar
  13. Python 编程笔记(本人出品,必属精品)
  14. OpenHarmony 软总线lite 源码分析
  15. python科学计算之numpy+pandas+matplotlib+mysql
  16. nvcc: command not found
  17. 我们如何对用户UGC内容进行安全审核
  18. 信息安全基础知识(四)KDC、公用密钥加密和证书:
  19. 解决Android,ios字体设置font-weight后粗细显示效果不一问题
  20. 携手玩家一起保护地球 | Google Play 开发者播客节目 · 第十期

热门文章

  1. java flip_GitHub - bowen903/ViewFlipAnimator: 一种超简单纯Java实现的卡片翻转效果
  2. Data Analysis - Day7 - Pandas
  3. java无限循环小数_无限循环小数转化成分数(Java实现)
  4. 进击的WebRTC:我们为什么需要它?
  5. 3❤️Jenkins从零到壹❤️ :常用功能大全(JAVA 小虚竹)
  6. pause 和 title
  7. 计算机键盘特点,总算明白各类笔记本键盘优缺点了!秒懂
  8. HDU 5294 Tricks Device(多校2015 最大流+最短路)
  9. html密码浏览器不自动登录,怎样取消浏览器密码的自动登录
  10. Android 12刷机教程