A1034. 孪生素数对
时间限制:
1.0s 内存限制:
512.0MB
问题描述
差为2的两个素数被称为孪生素数对,例如3和5, 11和13.
给定一个区间,请输出区间内所有的孪生素数对.
给定一个区间,请输出区间内所有的孪生素数对.
输入格式
两个正整数a,b,其中a<b,以空格分开
输出格式
区间[a,b]内的所有孪生素数对,按从小到大顺序。每行一个素数对,其中小的在前,大的在后,以空格分开。
如果区间内没有素数对的话,输出-1.
如果区间内没有素数对的话,输出-1.
样例输入
2 15
样例输出
3 5
5 7
11 13
5 7
11 13
样例输入
14 18
样例输出
-1
- #include <stdio.h>
- #include <stdlib.h>
- int sushu(long x){
- int i;
- for(i=2;i*i<=x;i++)
- if(x%i==0) return 0;
- return 1;
- }
- int main(){
- long a,b;
- while((scanf("%d %d",&a,&b))!=EOF){
- int tmp=0;
- for(long i=a;i<=b;i++){
- if(i!=1&&i+2<=b&&sushu(i)&&sushu(i+2)){
- printf("%d %d\n",i,i+2);
- tmp=1;
- }
- }
- if(tmp==0)
- printf("-1\n");
- }
- system("pause");
- return 0;
- }