当前位置:网站首页>【Day_12 0507】查找组成一个偶数最接近的两个素数
【Day_12 0507】查找组成一个偶数最接近的两个素数
2022-08-01 17:40:00 【安河桥畔】
查找组成一个偶数最接近的两个素数
题目来源
牛客网:查找组成一个偶数最接近的两个素数
题目描述
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
数据范围:输入的数据满足 4≤n≤1000
输入描述
输入一个大于2的偶数
输出描述
从小到大输出两个素数
示例1
输入
20
输出
7
13
输入
4
输出
2
2
思路分析
- 素数:指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
- 判断素数方法:判断n是否为素数,从2开始遍历到n的平方根,如果没有能整除n的数,则n为素数
- 找能组成个一偶数n差值最小的两个素数,定义两个数等于n/2,左边的数自增,右边自减,判断左右两个数都为素数则输出。
以20为例,从10开始,分别向左向右寻找第一对素数:
代码展示
#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
//判断素数
bool IsPrime(int n)
{
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
int main() {
int n = 0;
cin >> n;
int left = n / 2;
int right = n / 2;
while (left > 0)
{
if (IsPrime(left) && IsPrime(right))
{
cout << left << endl;
cout << right << endl;
break;
}
left--;
right++;
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
Sftp中文件名乱码
06 redis cluster structures
Flask框架实战
存储日报-数据湖架构权威指南(使用 Iceberg 和 MinIO)
QT_QThread线程
C语言:表达式求值详解
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
面经汇总-社招-6年
RecSys'22|CARCA:交叉注意力感知上下文和属性进行推荐
B011 - 51-based multifunctional fingerprint smart lock
AIOps智能运维的领跑者擎创科技正式入驻InfoQ 写作社区!
半自动化爬虫-爬取一个网站的内容及回复
matlab 基于奇偶校验的LSB隐藏水印 三种改进
极化微波成像概述
后台管理系统的权限思路
创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展
GRUB2的零日漏洞补丁现已推出
极化微波成像概述2
表达式;运算符,算子;取余计算;运算符优先顺序
02 es cluster construction









