题目描述

原题来自: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相关推荐

  1. 题目53:Goldbach's Conjecture

    http://ac.jobdu.com/problem.php?cid=1040&pid=52 题目描述: Goldbach's Conjecture: For any even number ...

  2. 【POJ - 2262】Goldbach's Conjecture (数论,哥德巴赫猜想,知识点结论)

    题干: In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in ...

  3. poj 2262 Goldbach's Conjecture(筛素数)

    2018-5-23 验证哥德巴赫猜想,直接将素数全部筛出来,然后从小到大枚举即可,找到的第一个满足条件的肯定就是差值最大的即满足题意的. 普通筛素数: #include<iostream> ...

  4. poj 2262 Goldbach's Conjecture——筛质数(水!)

    题目:http://poj.org/problem?id=2262 大水题的筛质数. #include<iostream> #include<cstdio> #include& ...

  5. NUC1090 Goldbach's Conjecture【哥德巴赫猜想 】

    Goldbach's Conjecture 时间限制: 1000ms 内存限制: 65536KB 问题描述 In 1742, Christian Goldbach, a German amateur ...

  6. 哥德巴赫猜想c语言 思路,01-哥德巴赫猜想(Goldbach's Conjecture)--(C语言)

    goldbach-partitions-of-the-even.png 前言 哥德巴赫猜想是(Goldbach's Conjecture)是数论中存在最久的未解问题之一,是一个伟大的世界性的数学猜想, ...

  7. 题目1440:Goldbach's Conjecture(哥达巴赫猜想)

    题目链接:http://ac.jobdu.com/problem.php?pid=1440 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  8. Goldbach`s Conjecture(数论)素数筛

    题目:https://vjudge.net/contest/242286#problem/A Goldbach's conjecture is one of the oldest unsolved p ...

  9. 九度题目1440:Goldbach's Conjecture

    题目描述: Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least ...

最新文章

  1. android studio 首字母提示 设置 大小写敏感
  2. USACO3.32Shopping Offers(DP)
  3. DIY烤肉加热台,了解一下?
  4. keil obj 文件 结构_OBJ文件格式详解
  5. linux算法设计,嵌入式Linux平台下随机序列算法设计.doc
  6. android短信增加条目,Android仿短信条目右上角的红色小圆球提示气泡
  7. python调用bat_python windows 远程执行bat
  8. hdu 3038 HowManyAnswersAreWrong 并查集
  9. 近一半的智能手机受高通 Snapdragon 漏洞影响
  10. 平常学习与实际应用场景
  11. 8音度dsp调音教程_8音度手把手教你调音玩转dsp
  12. 猿创征文|工具在手,天下我有(初入职场必备的黑科技工具)
  13. mysql byte存入数据库_byte 保存到数据库
  14. 2019-01-01T00:00:00.000Z 这种时间日期类型格式是属于:格林尼治时间
  15. linux memery dump
  16. 中兴如何远程服务器时间同步,IPTV系统时钟同步功能配置方法——中兴
  17. 中国移动开放平台(dev.cmccopen.cn)请求头Header:Authorization验证失败的原因(我遇到的)
  18. 腾讯云的服务器解析域名步骤
  19. java物联网程序设计基础_Java程序设计 19物联网
  20. 《Effective C++》学习笔记——条款26

热门文章

  1. 16、jQuery插件之Slick幻灯片插件
  2. 【深度学习在图像增强上的应用】(Zero-DCE)Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
  3. 英语专业计算机基础知识,计算机专业英语基础知识
  4. LAMP兄弟连Linux原创视频教程下载地址汇总[第一讲至第五讲]
  5. 智慧安防雷达监控报警系统
  6. inspinia admin 最新版 inspinia 2.7.1 一套非常优秀的bootstrap后台管理模板
  7. Unity的脚本生命周期
  8. 【 逆向基础 】密码学实现(SHA1)
  9. 听音扒谱app_广播/会的人都说听音写谱没有那么难!听歌扒谱子技巧关键是方法正确...
  10. 高等工程数学第7 8章部分答案(吴)