当前位置:网站首页>【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;
}
边栏推荐
猜你喜欢
随机推荐
EpiSci | Deep Reinforcement Learning for SoCs: Myth and Reality
金仓数据库KingbaseES安全指南--6.4. RADIUS身份验证
04 flink cluster construction
GRUB2的零日漏洞补丁现已推出
计算IoU(D2L)
助推科技强国高质量发展《科创超级训练营》系列活动正式拉开帷幕
半自动化爬虫-爬取一个网站的内容及回复
Are online account opening commissions reliable? Is online account opening safe?
2022年深圳市临床医学研究中心申请指南
基于ORB-SLAM2的改进代码
B002 - Embedded Elderly Positioning Tracking Monitor
不需要写代码,快速批量修改文件夹中图片的格式
广汽埃安“弹匣电池”,四大核心技术,出行安全保障
程序员架构修炼之道:如何设计“易理解”的系统架构?
后台管理系统的权限思路
关系运算符和if,else语句
食品安全 | 新鲜食品vs速食食品,哪一种是你的菜?
【报错】Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘concat‘)
QT basic functions, signals, slots
统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》









