题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

#include <iostream>
#include <string>
#include <vector>
#include<stdlib.h>
using namespace std;

/*任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
数据范围:输入的数据满足 4≤n≤1000 
输入描述:
输入一个大于2的偶数

输出描述:
从小到大输出两个素数*/
//素数
bool fun7(int m)
{
	for (int i = 2; i < m; i++)
	{
		if (m%i == 0)
		{
			return false;
		}
	}
	return true;

}
int main()
{
	int m;
	cin >> m;
	int x, y;
	int diff = m;
	vector<pair<int, int>> vec;
	for (int i = 2; i < m/2+1; i++)
	{
		int j = m - i;
		//如果不是两个素数则下一组
		if (!(fun7(j) && fun7(i)))
		{
			continue;
		}
		if (abs(i-j)<diff)
		{
            diff = abs(i - j);
			x = i;
			y = j;
		}
	}
	cout << x << endl;
	cout << y << endl;

	system("pause");
	return 0;
}

全部评论

相关推荐

LB21:之前问她好像还什么试岗,你别逗我笑了西电✌️ 这种公司是我这种水平去的
点赞 评论 收藏
分享
03-31 21:47
东南大学 C++
彭于晏前来求offe...:吓晕了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务