当前位置:网站首页>【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;
}
边栏推荐
猜你喜欢
随机推荐
ROS2系列知识(6):Action服务概念
QT常用全局宏定义
助推科技强国高质量发展《科创超级训练营》系列活动正式拉开帷幕
机器学习快速入门
QT_QThread线程
极化微波成像概述
金仓数据库 OCCI迁移指南(2. 概述)
JumpServer堡垒机部署
matlab 基于奇偶校验的LSB隐藏水印 三种改进
星途一直缺颠覆性产品?青岛工厂这款M38T,会是个突破点?
C语言理论--笔试面试基础稳固
Topology Parts Disassembly 3D Visualization Solution
【R语言】对图片进行裁剪 图片批量裁剪
QT基础功能,信号、槽
【二叉树】奇偶树
EpiSci | Deep Reinforcement Learning for SoCs: Myth and Reality
2022年深圳市促进大健康产业集群高质量发展的若干措施
hcip第九天
金仓数据库KingbaseES安全指南--6.9. Ident身份验证
2022年SQL经典面试题总结(带解析)








