素数对
题目描述
定义两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,要求找出所有两个数均不大于 n 的素数对。
输入格式
一个正整数 n。(1≤n≤10000)
输出格式
所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。
若没有找到任何素数对,输出"empty"。
输入输出样例
输入
30
输出
3 5
5 7
11 13
17 19
素数对
题目描述
定义两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,要求找出所有两个数均不大于 n 的素数对。
输入格式
一个正整数 n。(1≤n≤10000)
输出格式
所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。
若没有找到任何素数对,输出"empty"。
输入输出样例
输入
30
输出
3 5
5 7
11 13
17 19
#include <stdio.h>
int isp(int n)
{
if (n < 2) return 0;
for (int i = 2; i <= n / 2; i++)
if (n % i == 0)
return 0;
return 1;
}
int main()
{
int n;
scanf("%d", &n);
int found = 0;
for (int i = 4; i <= n; i++)
{
if (isp(i) && isp(i - 2))
{
found = 1;
printf("%d %d\n", i - 2, i);
}
}
if (!found)
printf("empty");
return 0;
}
