1099 性感素数

news/2024/11/24 7:58:29/

1099 性感素数 (20 分)

“性感素数”是指形如 (p, p+6) 这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自 http://mathworld.wolfram.com/SexyPrimes.html)

现给定一个整数,请你判断其是否为一个性感素数。

输入格式:

输入在一行中给出一个正整数 N (≤108)。

输出格式:

若 N 是一个性感素数,则在一行中输出 Yes,并在第二行输出与 N 配对的另一个性感素数(若这样的数不唯一,输出较小的那个)。若 N 不是性感素数,则在一行中输出 No,然后在第二行输出大于 N 的最小性感素数。

输入样例 1:

1
47

输出样例 1:

1
2
Yes
41

输入样例 2:

1
21

输出样例 2:

1
2
No
23

代码实现:

这个题不是最难的一道题,但却是我用时最长的一道题,好像有3分没通过,当时一直找来着没找出来哪儿有问题,明白这代码有点傻,但是毕竟是考试的时候写出来的,贴了.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>using namespace std;bool isPrime(int n){if(n<=0||n==1) return false;if(n==2) return true;for(int i = 2;i*i<=n;i++){if(n%i==0) return false;}return true;
}
int main(){int n;cin>>n;if(isPrime(n)&&isPrime(n-6)){cout<<"Yes"<<endl;cout<<n-6;return 0;}if(isPrime(n)&&isPrime(n+6)){cout<<"Yes"<<endl;cout<<n;return 0;}cout<<"No"<<endl;for(int i = n;i<100000001;i++){if(isPrime(i)&&isPrime(i-6)){cout<<i;return  0;}if(isPrime(i)&&isPrime(i+6)){cout<<i;return 0;}}return 0;
}

满分代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <algorithm>
using namespace std;bool is_prime(int x){if(x<=1)return false;for(int i=2;i*i<=x;++i){if(x%i==0)return false;}return true;
}int main() {int N;cin>>N;bool ans_s=is_prime(N-6);bool ans_b=is_prime(N+6);if(is_prime(N)&&(ans_s||ans_b)){cout<<"Yes"<<endl;if(ans_s)cout<<N-6;else cout<<N+6;}else{for(int i=N+1;;++i){ans_s=is_prime(i-6);ans_b=is_prime(i+6);if(is_prime(i)&&(ans_s||ans_b)){cout<<"No"<<endl;cout<<i;return 0;}}}return 0;
}

http://www.ppmy.cn/news/115586.html

相关文章

hdu6796 X Number

题目链接 把每个数出现次数的数组当成状态来进行数位dp&#xff0c;常规的数位dp是枚举到最后一位或者此状态之前被处理过。 此题有个额外不同的地方就是&#xff0c;如果之前枚举的数不全是前导零且小于给定数&#xff0c;那么后面的数就可以随便放&#xff0c;因为我们只关心…

芯片组x299是服务器主板吗,最强的酷睿i9只能用它!X299主板首发评测

【PConline 首发评测】X99主板从2014年中旬至今已经坚挺了三年,加之AMD那头的多核多线程锐龙CPU又来势汹汹,Intel这回终于狠下心来推出新一代的酷睿i9和发烧级主板——X299来应战,也许发烧级平台的受众数量不会太多,但作为Intel的顶级产品,其话题性和关注度还是很高的,今…

三星(samsung)手机i699内容:解锁boot loader,刷recovery,刷机(刷rom),root综合教程

此文为本人原创 1.1 手机和电脑(linux)比较&#xff1a; 启动过程比较&#xff1a; android启动过程&#xff1a; 1 Boot ROM > 2 Boot Loader > 3 正常模式&#xff1a;加载Kernel > 4 Android > 3 恢复模式&#xff1a;Recovery linux启动过程&#xff1a;BIOS自…

强!PCB“金手指”从设计到生产全流程

在电脑内存条、显卡上&#xff0c;有一排金黄色导电触片&#xff0c;就是大家俗称的“金手指”。 在PCB设计制作行业中的“金手指”(Gold Finger&#xff0c;或称Edge Connector)&#xff0c;是由connector连接器作为PCB板对外连接网络的出口。 关于“金手指”你知道多少呢&a…

HI3519AV100 NNIE

海思NNIE开发系列文章&#xff1a; 海思NNIE开发&#xff08;一&#xff09;&#xff1a;海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录 海思NNIE开发&#xff08;二&#xff09;&#xff1a;FasterRCNN在海思NNIE平台上的执行流程&#xff08;一&#xff09;…

移动端适配(必须要知道的,亲测有效)

关于移动端适配&#xff08;必须要知道的&#xff0c;亲测有效&#xff09; 一、各种单位概念理解二、移动&#xff0c;web开发三、移动端适配1、视口(viewport)概念2、视口(viewport)适配&#xff08;代码&#xff09;3、rem单位适配flexible方案竖屏、横屏、ipad、PC最全的适…

hdu6199

沈阳网络赛1006 gems gems gems 题意是有n堆宝石(可能有负数),A和B从左到右拿宝石&#xff0c;A先手拿1或者2堆&#xff0c;假设某个人当前拿了k堆&#xff0c;那么下一个人只能拿k或者k1堆&#xff0c;如果他取不了k堆宝石时&#xff0c;游戏结束。定义difference为A拿到的宝…

掌握这个90%的人都不会的大屏技术,裁员、降薪与你无关

裁员话题时不时就被拉到热搜上溜几圈&#xff0c;一方面让各位打工人们焦虑恐惧失业风险&#xff0c;另一方面也能让各位从一波波裁员危机事件中吸取“经验”。例如&#xff0c;技术人员狂敲代码、业务人员猛冲业绩…该被裁的依旧如此&#xff0c;在当今你得具备点别人没有的技…