POJ 2262 Goldbach's Conjecture

题目翻译

1742年,德国业余数学家克里斯蒂安·戈德巴赫(Christian Goldbach)致函莱昂哈德·欧拉(Leonhard Euler),他在信中做出以下推测:

每一个大于4的偶数都可以写为两个奇数素数之和。

举个栗子:

8 = 3 + 5. 3和5都是奇数素数。

20 = 3 + 17 = 7 + 13。

42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23。

今天,这个猜想是否正确还没有得到证实。(哦,等等,我当然有证据,但写在这一页的页边太长了。)无论如何,你现在的任务是验证哥德巴赫对所有小于一百万的偶数的猜想。

输入

输入将包含一个或多个测试用例。每个测试用例由一个偶数整数 n 组成,其中 6<=n<1000000。对于 n,输入将以 0 值终止。

输出

对于每个测试用例,打印一行形式为 n=a+b,其中 a 和 b 是奇数素数。数字和运算符应该用一个空格隔开,就像下面的示例输出一样。如果有多对奇数素数加起来等于 n,则选择差值 b-a 最大的一对。如果没有这样的一对,就写一行“哥德巴赫的猜想是错误的。”(很明显这句话没用)

样例

输入

8
20
42
0

输出

8 = 3 + 5
20 = 3 + 17
42 = 5 + 37

解题思路

其实这道题有很大一个bug,n 是偶数整数,而偶数素数只有 2 不论和其他哪个素数合起来必然为奇数,所以这道题没必要考虑那么多,直接筛出来素数,然后从小到大找就可以了。

代码示例

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;int a;
int l,r;
int cnt;
int prime[1001000];
bool isprime[1001000];void prepare(int x){memset(isprime,1,sizeof(isprime));for(int i=2;i<=x;i++){if(isprime[i]) prime[++cnt]=i;for(int j=1;j<=cnt&&prime[j]*i<=x;j++){isprime[i*prime[j]]=0;if(i%prime[j]==0) break;}}
}int main(){prepare(1000000);while(cin>>a){if(a==0) break;for(int i=1;i<=cnt;i++){if(isprime[a-prime[i]]){l=prime[i];r=a-prime[i];break;}}cout<<a<<" = "<<l<<" + "<<r<<endl;}
}

每天一道英文题,ICPC不自闭(14)相关推荐

  1. 每天一道英文题,ICPC不自闭(25)

    Codeforces Round #766 (Div. 2) - B 题目翻译 拉胡尔和蒂娜期待着在大学开始新的一年.当他们进入新教室时,他们观察到学生的座位是以 n×m 的网格排列的.r 行和c 列 ...

  2. 一道oj题-字母圣诞树

    一道oj题-字母圣诞树 字母圣诞树 题目描述打印一个字母圣诞树. 输入第一行是一个整数K,表示样例的个数.以后每个样例是一个大写英文字母,占一行. 输出输出对应的字母圣诞树,每行末尾没有空格,每个圣诞 ...

  3. 第三届山西省赛1004 一道大水题(scanf)

    一道大水题 时间限制: C/C++ 2000ms; Java 4000ms 内存限制: 65535KB 通过次数: 44 总提交次数: 1020 问题描述 Dr. Pan作为上兰帝国ACM的总负责人, ...

  4. 简单tarjan》一道裸题(BZOJ1051)(easy)

    这是一道水题,实际考察的是你会不会写强连通分量...(在BZOJ上又水了一道题) Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B ...

  5. 计算机网络英语第二章,计算机网络英文题库(附答案)chapter2.doc

    计算机网络英文题库(附答案)chapter2计算机网络英文题库(附答案)chapter2 Chapter 2 Application Layer 1. In the following four de ...

  6. 一天一道算法题--5.30---递归

    感谢微信平台:  一天一道算法题 --------每天多一点进步--------- 今天 休假 这题 也很水 能发现 规律就好 明天 再也不能这样了 forgive me ---------- 转载于 ...

  7. CSU 1785: 又一道简单题

    1785: 又一道简单题 Submit Page    Summary    Time Limit: 5 Sec     Memory Limit: 128 Mb     Submitted: 602 ...

  8. 一天一道算法题--6.15--卡特兰数

    感谢微信平台---一天一道算法题---每天多一点进步- problem: 12个高矮不同的人 排成两排 每排必须是从矮到高排列 而且第二行比对应的第一排的人高 问排列方式有多少种? analyse: ...

  9. [js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么?

    [js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么? call 的第一个参数用于改变上下文,由于没有用到 this,第一个参数 Number ...

最新文章

  1. Linux之软件安装 apt-get
  2. Vue中动态设置页面title
  3. javascript操作select下拉列表框的一点小经验
  4. 入门代码教程第一节 如何:定义服务协定
  5. 《FPGA全程进阶---实战演练》第一章之如何学习FPGA
  6. 自拟计算机作文100字,介绍电脑的作文100字
  7. O’Reilly发布“微服务成熟度状态”报告:微服务是成功的
  8. MapReduce经典案例——统计单词数
  9. java整数翻转_Java程序反转数字
  10. 浅谈 Python 中的 __init__ 和 __new__
  11. 亿级数据量场景下,如何优化数据库分页查询方法?
  12. Python将类对象转换为json
  13. NIOS II 常见问题总结FAQ - xiangyuqxq的专栏 - CSDN博客
  14. php利用curl实现多进程下载文件类
  15. 【专业发展】技术领导力
  16. Unity:通过脚本控制Shader中的Cutoff
  17. 史上最全maven教程
  18. 事情永远做不完,却什么都带不走
  19. python中 r'', b'', u'', f'' 的含义
  20. linux sendmail漏洞,linux-sendmail的安全-029

热门文章

  1. C语言中各种数据类型的储存大小
  2. 驱动通信:通过PIPE管道与内核层通信
  3. C++ 语言递增和递减运算符
  4. 索尼ST18i刷机包 源于官方 感知流畅 深度精简 极度省电 稳定版上市
  5. ORACLE表锁了如何解锁
  6. 过桥问题linux信号量课设,操作系统信号量问题——信号量的精简
  7. 【NISP一级】4.3 移动终端安全
  8. JDBC 连接数据库的步骤
  9. pyspark学习笔记(1)_安装和简单逻辑回归分类示例
  10. centos8下搭建zabbix6.0监控系统