Goldbach's Conjecture
题目描述
原题来自:Ulm Local,题面详见:POJ 2262
哥德巴赫猜想:任何大于 4 的偶数都可以拆成两个奇素数之和。 比如:
8=3+5
20=3+17=7+13
42=5+37=11+31=13+29=19+23
你的任务是:验证小于 的数满足哥德巴赫猜想。
输入
多组数据,每组数据一个 n。
读入以 0 结束。
输出
对于每组数据,输出形如 n = a + b,其中 a,b 是奇素数。若有多组满足条件的 a,b,输出 b-a 最大的一组。
若无解,输出 Goldbach's conjecture is wrong.
样例输入
8 20 42 0
样例输出
8 = 3 + 5 20 = 3 + 17 42 = 5 + 37
提示
数据范围与提示
对于全部数据,6≤n≤。
来源/分类
ybttg 数论
题解:
1.因为数据在1e6以内,有些大,用素数筛把素数先筛出来,用vis数组记录
2.从小到大循环到1e6/2,如果vis[i]为素数,vis[n-i]也为素数,那么就输出(注意:这样循环保证了b-a最大)
注意:
1.哥德巴赫猜想是正确的,所以也就不可能输出 Goldbach's conjecture is wrong.(但是写上还是更好些)
2.注意0和1都不是素数,在素数筛前用vis数组标记即可
代码:
#include <bits/stdc++.h>
#define MAXN 1000005
using namespace std;
int n,vis[MAXN],flag;
int main()
{memset(vis,0,sizeof(vis));//素数筛vis[0] = vis[1] = 1;for(int i = 2;i <= MAXN / 2; ++i)//只用循环到一半,因为j的初始值是i的2倍,如果再大就超了if(vis[i] == 0)for(int j = 2 * i;j <= MAXN;j = j + i) vis[j] = 1;//如果i是素数,那么i的倍数一定不是素数while(~scanf("%d",&n) && n){flag = 0;for(int i = 3;i <= MAXN / 2; ++i)//循环到一半:再大就和前面的一样了if(vis[i] == 0 && vis[n - i] == 0)//从小到大循环{printf("%d = %d + %d\n",n,i,n - i);flag = 1;break;}if(flag==0)//可写可不写printf("Goldbach's conjecture is wrong.\n");}return 0;
}
Goldbach's Conjecture相关推荐
- 题目53:Goldbach's Conjecture
http://ac.jobdu.com/problem.php?cid=1040&pid=52 题目描述: Goldbach's Conjecture: For any even number ...
- 【POJ - 2262】Goldbach's Conjecture (数论,哥德巴赫猜想,知识点结论)
题干: In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in ...
- poj 2262 Goldbach's Conjecture(筛素数)
2018-5-23 验证哥德巴赫猜想,直接将素数全部筛出来,然后从小到大枚举即可,找到的第一个满足条件的肯定就是差值最大的即满足题意的. 普通筛素数: #include<iostream> ...
- poj 2262 Goldbach's Conjecture——筛质数(水!)
题目:http://poj.org/problem?id=2262 大水题的筛质数. #include<iostream> #include<cstdio> #include& ...
- NUC1090 Goldbach's Conjecture【哥德巴赫猜想 】
Goldbach's Conjecture 时间限制: 1000ms 内存限制: 65536KB 问题描述 In 1742, Christian Goldbach, a German amateur ...
- 哥德巴赫猜想c语言 思路,01-哥德巴赫猜想(Goldbach's Conjecture)--(C语言)
goldbach-partitions-of-the-even.png 前言 哥德巴赫猜想是(Goldbach's Conjecture)是数论中存在最久的未解问题之一,是一个伟大的世界性的数学猜想, ...
- 题目1440:Goldbach's Conjecture(哥达巴赫猜想)
题目链接:http://ac.jobdu.com/problem.php?pid=1440 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- Goldbach`s Conjecture(数论)素数筛
题目:https://vjudge.net/contest/242286#problem/A Goldbach's conjecture is one of the oldest unsolved p ...
- 九度题目1440:Goldbach's Conjecture
题目描述: Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least ...
最新文章
- android studio 首字母提示 设置 大小写敏感
- USACO3.32Shopping Offers(DP)
- DIY烤肉加热台,了解一下?
- keil obj 文件 结构_OBJ文件格式详解
- linux算法设计,嵌入式Linux平台下随机序列算法设计.doc
- android短信增加条目,Android仿短信条目右上角的红色小圆球提示气泡
- python调用bat_python windows 远程执行bat
- hdu 3038 HowManyAnswersAreWrong 并查集
- 近一半的智能手机受高通 Snapdragon 漏洞影响
- 平常学习与实际应用场景
- 8音度dsp调音教程_8音度手把手教你调音玩转dsp
- 猿创征文|工具在手,天下我有(初入职场必备的黑科技工具)
- mysql byte存入数据库_byte 保存到数据库
- 2019-01-01T00:00:00.000Z 这种时间日期类型格式是属于:格林尼治时间
- linux memery dump
- 中兴如何远程服务器时间同步,IPTV系统时钟同步功能配置方法——中兴
- 中国移动开放平台(dev.cmccopen.cn)请求头Header:Authorization验证失败的原因(我遇到的)
- 腾讯云的服务器解析域名步骤
- java物联网程序设计基础_Java程序设计 19物联网
- 《Effective C++》学习笔记——条款26
热门文章
- 16、jQuery插件之Slick幻灯片插件
- 【深度学习在图像增强上的应用】(Zero-DCE)Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
- 英语专业计算机基础知识,计算机专业英语基础知识
- LAMP兄弟连Linux原创视频教程下载地址汇总[第一讲至第五讲]
- 智慧安防雷达监控报警系统
- inspinia admin 最新版 inspinia 2.7.1 一套非常优秀的bootstrap后台管理模板
- Unity的脚本生命周期
- 【 逆向基础 】密码学实现(SHA1)
- 听音扒谱app_广播/会的人都说听音写谱没有那么难!听歌扒谱子技巧关键是方法正确...
- 高等工程数学第7 8章部分答案(吴)