原题网址:哥德巴赫猜想 - 洛谷

题目描述

输入一个偶数 NN,验证 4\sim N4∼N 所有偶数是否符合哥德巴赫猜想:任一大于 22 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 1010,10=3+7=5+510=3+7=5+5,则 10=5+510=5+5 是错误答案。

输入格式

第一行输入一个正偶数 NN

输出格式

输出 \dfrac{N-2}{2}2N−2​ 行。对于第 ii 行:

首先先输出正偶数 2i+22i+2,然后输出等号,再输出加和为 2i+22i+2 且第一个加数最小的两个质数,以加号隔开。

输入输出样例

输入 #1复制

10

输出 #1复制

4=2+2
6=3+3
8=3+5
10=3+7

说明/提示

数据保证,4 \leq N\leq100004≤N≤10000。

看到这题不得不说太水了。。。

本篇题解是我在洛谷的第一篇题解。望审核通过!

话不多说,看看我的代码吧


首先是判断质数函数

bool is_prime(int x)//判断x是否是质数
{for(int i = 2;i * i <= x;i++)//只用枚举到sqrt(x),应该会快一点{if(x % i == 0)return false;}return true;
}

接下来是一个输出函数

void write(int a)
{if(a == 4)//当a等于4的时候直接输出{printf("4=2+2\n");//记得输出换行符return;//不要忘了return}for(int i = 3;i + 2 <= a;i += 2){//这种是2 + k形式的                     if(is_prime(i) && 2 + i == a){printf("%d=2+%d\n",a,i);return;}}for(int i = 3;i + 3 <= a;i += 2){//众所周知,除了2以外所有质数都是奇数,所以这样打可以省时间。if(is_prime(i) && is_prime(a - i)){printf("%d=%d+%d\n",a,min(i,a -i),max(i,a - i));return;}}
}

最后是你们喜欢的完整代码:(切勿抄袭!!!)

#include <cstdio>
#include <algorithm>
using namespace std;
bool is_prime(int x)
{for(int i = 2;i * i <= x;i++){if(x % i == 0)return false;}return true;
}
void write(int a)
{if(a == 4){printf("4=2+2\n");return;}for(int i = 3;i + 2 <= a;i += 2){if(is_prime(i) && 2 + i == a){printf("%d=2+%d\n",a,i);return;}}for(int i = 3;i + 3 <= a;i += 2){if(is_prime(i) && is_prime(a - i)){printf("%d=%d+%d\n",a,min(i,a - i),max(i,a - i));return;}}
}
int n;
int main()
{scanf("%d",&n);for(int i = 4;i <= n;i += 2)write(i);return 0;
}

好了,本蒟蒻的第一篇题解就到这里了,看完喜欢记得点个赞!

哥德巴赫猜想(转载)相关推荐

  1. 学术-数学:哥德巴赫猜想

    ylbtech-学术-数学:哥德巴赫猜想 哥德巴赫1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的偶数都可写成两个质数之和.但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮 ...

  2. 100c之31:哥德巴赫猜想

    Table of Contents 1 问题 2 分析 3 解决方案 4 输出结果 问题 哥德巴赫猜想:验证2000以内的正偶数都能分解为两个素数之和( 即验证哥德巴赫猜想对2000以内的正偶数成立 ...

  3. 【基础】哥德巴赫猜想

    题目描述 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是 ...

  4. P1579哥德巴赫猜想

    写来自己学习用~ 题目内容: 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和1 ...

  5. 我同意 三江方士 对 哥德巴赫猜想 的 看法

    我同意 三江方士 对 哥德巴赫猜想 的 "有限域成立的命题,无穷域必然成立" 的 看法, 三江方士 是 百度贴吧 民科吧 的 一个 网友,  他发表了一篇 <证明" ...

  6. 哥德巴赫猜想(升级版)

    https://www.luogu.com.cn/problem/P3912 本人所有文章都受版权保护,著作权归本人(Joseph_tony)所有,未经授权,禁止转载,若不得不转载,请注明原文网址链接 ...

  7. 更新后的哥德巴赫猜想(位运算)

    哥德巴赫猜想:一个不小于6的偶数,总能分解成两个质数之和. #include(stdio.h) #include(math.h) boolean   isPrime(int  num); boolea ...

  8. c语言表示哥德巴赫猜想,用C语言来验证哥德巴赫猜想(定义的是int型)

    哥德巴赫猜想: 如果任意一个大于6的偶数都可以写成两个素数之和.就将其称为符合哥德巴赫猜想. #include #include /// /// 判断一个数是否是素数 /// /// 要判断的数 // ...

  9. 用跑得最慢的电脑程序,理解最高深的哥德巴赫猜想

    五条规则的图灵机可视化.每列像素代表一步计算,步骤从左到右.黑色代表1.最右边表示图灵机的停机.(图片来源:Peter Krumins/Quanta Magazine) 文章来源:环球科学 " ...

最新文章

  1. ios uiview 如何刷新_ios – 从另一个UIViewController刷新表
  2. dos命令配置jdk环境
  3. python自然语言分析 何翠仪_如何用 Python 中的 NLTK 对中文进行分析和处理?
  4. Java开发必会MVC三层架构
  5. WORD中如何添加复选框控件?
  6. 关于Tokenizer与TokenFilter的区别
  7. 《RECURRENT BATCH NORMALIZATION》
  8. 面向过程与面向对象代码实例对比
  9. java贪吃蛇总结报告_java贪吃蛇开发总结
  10. 低启动0.7V升压芯片
  11. 验证码功能-简单实现
  12. PLC与7种常见输入输出设备的连接方式
  13. 《明解C语言》第九章字符串课后练习题
  14. 图像的基本运算——scale, rotation, translation
  15. i o笔记 用户增长
  16. STM32 SPI NSS大揭秘
  17. 计算机网络与物联网工程专业大学排名,大学专业“薪酬”排名公布,物联网工程仅排第五,有你的专业吗...
  18. linux 驱动程序 摇杆 游戏,SDL游戏摇杆(Joy Stick)开发
  19. Django REST framework(五)-http请求与响应
  20. PHP的Imagick拓展安装

热门文章

  1. Tesseract-OCR安装与使用
  2. spfa已死???(bushi)
  3. Lingo的基本用法(更新版)
  4. 权重衰减(L2正则化)的作用
  5. 定位之相对定位不脱离文档流,绝对定位脱离文档流
  6. python爬取美女_Python爬取高颜值美女(爬虫+人脸检测+颜值检测)附学习教程
  7. 2006年江苏专转本计算机试卷答案,2006年度江苏省普通高校专转本计算机试卷.doc...
  8. 在局域网内如何访问另一台计算机
  9. 基于CNN和VLAD的人体行为识别研究
  10. 新推荐个百度网盘不限速下载神器