PAT--1099 性感素数(C语言)
“性感素数”是指形如 (p, p+6) 这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自 http://mathworld.wolfram.com/SexyPrimes.html)
现给定一个整数,请你判断其是否为一个性感素数。
输入格式:
输入在一行中给出一个正整数 N (≤108)。
输出格式:
若 N 是一个性感素数,则在一行中输出 Yes
,并在第二行输出与 N 配对的另一个性感素数(若这样的数不唯一,输出较小的那个)。若 N 不是性感素数,则在一行中输出 No
,然后在第二行输出大于 N 的最小性感素数。
输入样例 1:
47
输出样例 1:
Yes
41
输入样例 2:
21
输出样例 2:
No
23
解析:首先写判断是否为素数的函数,测试点5就是输入的N是素数但是不是性感素数。
#include <stdio.h>
#include <math.h>
long long su(long long n){ //判断素数的函数 long long shifou=1,i; if(n==1) shifou=0;if(n==2) shifou=1;if(n<1) shifou=0;if(n>2){for(i=2;i<=sqrt(n);i++){if(n%i==0){shifou=0;break;}}}return shifou;
}
int main()
{long long i,n;scanf("%lld",&n);if(su(n)==1){if(su(n-6)==1){printf("Yes\n%lld\n",n-6);}else if(su(n+6)==1){printf("Yes\n%lld\n",n+6);}else{ //N是素数但不是性感素数 printf("No\n");for(i=n+1;;i++){if(su(i)==1&&(su(i-6)==1||su(i+6)==1)){printf("%lld\n",i);break;}}}}else{ //N直接不是素数 printf("No\n");for(i=n+1;;i++){if(su(i)==1&&(su(i-6)==1||su(i+6)==1)){printf("%lld\n",i);break;}}}return 0;
}
PAT--1099 性感素数(C语言)相关推荐
- PAT——1099 性感素数
"性感素数"是指形如 (p, p+6) 这样的一对素数.之所以叫这个名字,是因为拉丁语管"六"叫"sex"(即英语的"性感&quo ...
- 1099 性感素数 (20 分)
步骤 判断N本身是不是性感素数 a. N和N-6 b. N+6和N 从N+1枚举,判断这个数是不是性感素数 a. 判断两种情况 ⅰ. N-6 ⅱ. N+6 b. 判断一种情况 ⅰ. N+6,(N+1和 ...
- Acwing 4268. 性感素数
题目描述: "性感素数 "是指形如 (p,p+6) 这样的一对素数. 之所以叫这个名字,是因为拉丁语管"六"叫"sex"(即英语的" ...
- PHP 打印0-n的所有质数,输出1到n中所有的素数 C语言编程:输出1到N中所有质数的个数...
c语言输入一个n值,输出1-n之间所有素数之和及素数寻分享大佬帮助啊别和往事过不去,因为它已经过去.别和现实过不去,因为你还要过下去. #include "stdio.h"int ...
- c语言编程输出指定范围的素数,C语言输出范围内所有素数
用C语言输出100之间的所有质数 用C语言输出100之间的所有质数. 各位. 首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数: 主函数上面新建一个判断素数的函 ...
- 无暇素数c语言百度,华为招聘--前人经验(转贴)
这篇文章是写给2007届的毕业生的,我想我这些日子的经历应该能给2007届的师弟和师妹们将来的校园招聘提供点帮助. 一.准备阶段: 在华为面试之前,我把<软件设计师教程>大概的复习了一遍, ...
- java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- 判断输入的整数是否为素数_C语言 | 判断是否素数
"要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人-万中无一" --包租婆这道理放在C语言学习上也一并受用.在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语 ...
- 素数 c语言 时间少,C语言判断素数怎么优化时间,1000000以内,不用代码,指点一下就好...
匿名用户 1级 2016-09-04 回答 基本思想 用筛法求素数的基本思想是:把从1开始的.某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉.剩下的数中选择最小的数是素数,然后去掉它的 ...
最新文章
- Windows下Nginx的安装及开机启动
- php option如何循环每一个值,Js 在option ={ data:[]}中怎么使用循环;
- python函数名字_Python每日3题-为什么函数名字可以当做参数用?
- LeetCode 1670. 设计前中后队列(deque)
- 在windows环境下ftp服务器的文件上传和下载
- 阿里晓斌:如何做好技术 Team Leader?
- 20200802:力扣200周周赛题解
- 1062. 最简分数(20)-PAT乙级真题
- C# 找出实现某个接口的所有类
- 直接使用临时变量导致的一个bug记录
- matlab 生成格雷码,格雷码(Grey Code)生成规则
- 解决Tomcat乱码
- SQL编程和高级查询
- Word2007中快速插入分隔线
- 商场云WiFi靠谱吗
- CVPR2019目标检测论文汇总
- Facebook前身 哈佛大学“选美“网站核心算法 -- ELO等级分制度(附源码)
- 深度残差网络+自适应参数化ReLU激活函数:调参记录2
- Navicat生成的.psc格式文件数据库导入
- Echarts 大数据可视化基本使用
热门文章
- php 一维数组变字符串,php怎么把数组转为字符串?
- 蓝桥Python基础——字母图形
- vue项目中加密和解密
- 手机wifi控制单片机C语言,单片机wifi控制app
- 【鲁班学院】面试总结:Java高级篇(上):集合的类型以及重新认识HashMap
- CSS06(字体样式:类型、大小、粗细、颜色、下划线、首行缩进)
- 终极解决傻X阿里钱盾新手开店及老卖家复核身份证照片模糊无法对焦问题
- oracle回滚段创建,Oracle回滚段管理
- jenkins编译H5做的android端编译卫士app记录
- 文献信息检索与利用学分课答案(海南大学——知到)