题目描述
定义两个相差为 2 的素数称为素数对,如 5 和 7,17 和 19 等,要求找出所有两个数均不大于 n 的素数对。
输入格式
一个正整数 n。1≤n≤10000。
输出格式
所有小于等于 n 的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出 empty
。
输入输出样例
输入 #1复制
10
输出 #1复制
3 5 5 7
输入 #2复制
100
输出 #2复制
3 5 5 7 11 13 17 19 29 31 41 43 59 61 71 73
输入 #3复制
3
输出 #3复制
empty
#include<stdio.h>
int main()
{
int n,i,j,m,k=1,z=0;
int x[20000];
scanf("%d",&n);
for(i=2;i<=n;i++)
{
for(j=2;j<=i;j++)
{
if(i%j==0)
break;
}
if(i==j)
{
x[k]=i;
k++;
}
}
for(m=1;m<k;m++)
{
if(x[m+1]-x[m]==2)
{
printf("%d %d\n",x[m],x[m+1]);
z=1;
}
}
if(z==0)
printf("empty");
}