哥德巴赫猜想(转载)
原题网址:哥德巴赫猜想 - 洛谷
题目描述
输入一个偶数 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;
}
好了,本蒟蒻的第一篇题解就到这里了,看完喜欢记得点个赞!
哥德巴赫猜想(转载)相关推荐
- 学术-数学:哥德巴赫猜想
ylbtech-学术-数学:哥德巴赫猜想 哥德巴赫1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的偶数都可写成两个质数之和.但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮 ...
- 100c之31:哥德巴赫猜想
Table of Contents 1 问题 2 分析 3 解决方案 4 输出结果 问题 哥德巴赫猜想:验证2000以内的正偶数都能分解为两个素数之和( 即验证哥德巴赫猜想对2000以内的正偶数成立 ...
- 【基础】哥德巴赫猜想
题目描述 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是 ...
- P1579哥德巴赫猜想
写来自己学习用~ 题目内容: 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和1 ...
- 我同意 三江方士 对 哥德巴赫猜想 的 看法
我同意 三江方士 对 哥德巴赫猜想 的 "有限域成立的命题,无穷域必然成立" 的 看法, 三江方士 是 百度贴吧 民科吧 的 一个 网友, 他发表了一篇 <证明" ...
- 哥德巴赫猜想(升级版)
https://www.luogu.com.cn/problem/P3912 本人所有文章都受版权保护,著作权归本人(Joseph_tony)所有,未经授权,禁止转载,若不得不转载,请注明原文网址链接 ...
- 更新后的哥德巴赫猜想(位运算)
哥德巴赫猜想:一个不小于6的偶数,总能分解成两个质数之和. #include(stdio.h) #include(math.h) boolean isPrime(int num); boolea ...
- c语言表示哥德巴赫猜想,用C语言来验证哥德巴赫猜想(定义的是int型)
哥德巴赫猜想: 如果任意一个大于6的偶数都可以写成两个素数之和.就将其称为符合哥德巴赫猜想. #include #include /// /// 判断一个数是否是素数 /// /// 要判断的数 // ...
- 用跑得最慢的电脑程序,理解最高深的哥德巴赫猜想
五条规则的图灵机可视化.每列像素代表一步计算,步骤从左到右.黑色代表1.最右边表示图灵机的停机.(图片来源:Peter Krumins/Quanta Magazine) 文章来源:环球科学 " ...
最新文章
- ios uiview 如何刷新_ios – 从另一个UIViewController刷新表
- dos命令配置jdk环境
- python自然语言分析 何翠仪_如何用 Python 中的 NLTK 对中文进行分析和处理?
- Java开发必会MVC三层架构
- WORD中如何添加复选框控件?
- 关于Tokenizer与TokenFilter的区别
- 《RECURRENT BATCH NORMALIZATION》
- 面向过程与面向对象代码实例对比
- java贪吃蛇总结报告_java贪吃蛇开发总结
- 低启动0.7V升压芯片
- 验证码功能-简单实现
- PLC与7种常见输入输出设备的连接方式
- 《明解C语言》第九章字符串课后练习题
- 图像的基本运算——scale, rotation, translation
- i o笔记 用户增长
- STM32 SPI NSS大揭秘
- 计算机网络与物联网工程专业大学排名,大学专业“薪酬”排名公布,物联网工程仅排第五,有你的专业吗...
- linux 驱动程序 摇杆 游戏,SDL游戏摇杆(Joy Stick)开发
- Django REST framework(五)-http请求与响应
- PHP的Imagick拓展安装