B2132 素数对
题目描述
定义两个相差为 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 <bits/stdc++.h>
using namespace std;
bool fun(int i){
if(i==2)return true;
int j;
for(j=2;j<=sqrt(i);){
if(i%j!=0)j++;
else break;
}
if(i%j==0)return false;
else return true;
}
int main(){
int n;
cin>>n;
int p=1;
for(int i=2;i<=n-2;i++){
if(fun(i)&&fun(i+2)){
cout<<i<<" "<<i+2<<endl;
p=0;
}
}
if(p==1)cout<<"empty";
return 0;
}
求求了!点赞关注加收藏!