题目描述:
两个相差为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
提示:
建议把判断某个数是不是素数,写成isprime()函数。
时间限制: 1000ms
空间限制: 128MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int zhi(int n){
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return 0;
}
}
return 1;
}
int main(){
int n;
cin>>n;
for(int i=5;i<=n;i++){
if(zhi(i-2)==1&&zhi(i)==1){
cout<<i-2<<" "<<i<<endl;
}
}
return 0;
}