总时间限制:
1000ms
内存限制:
65536kB
-
描述
-
两个相差为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
-
这题其实是求素数的一个变形,再加一个判断语句就可以了,如有更好的方法欢迎提建议。
-
#include<stdio.h> #include<math.h> int main() { int n,i,l,k=1,j,s=0; scanf("%d",&n); int a[n+1]; for(i=2;i<=n;i++) { for(j=2;j<i;j++) { if(i%j==0) { break; } } if(i==j) a[k++]=i; } for(i=1;i<=k;i++) { if(a[i+1]-a[i]==2) { s++; for(j=i;j<=i+1;j++) printf("%d ",a[j]); printf("\n"); } } if(s==0) printf("empty"); return 0; }