素数对

题目描述

两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,本题目要求找出所有两个数均不大于 n 的 素数对。

输入

一个正整数 n。1 <= n <= 10000。

输出

所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数 对,输出 empty。

样例输入

100

样例输出

3 5
5 7
11 13
17 19
29 31
41 43
59 61
71 73

题解

cpp

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
bool isprime(int x)
{
if (x < 2)
return false;
for (int i = 2;i < x;i++)
{
if (x % i == 0)
return false;
}
return true;
}
int main() {
int n,t,c; cin >> n;
for (int i = 1;i <= n - 2;i++)
{
if(isprime(i))
{
if (isprime(i + 2))
{
cout << i << " " << i + 2 << endl;
t = 1;
}
}
}
if (t == 0)
cout << "empty";
return 0;
}

小王于2022-04-11 20:30发布在成长日记
没有伞的孩子,必须学会努力奔跑。

赞助 点赞 0

暂无评论

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

找回密码

请输入您的邮箱地址,我们将向您发送重置密码的链接。

您好,朋友!

请输入相关信息,以便我们提供更优质的服务!

欢迎回来!