【题目描述】
两个相差为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<iostream>
#include<iomanip>
using namespace std;
//判断质数
bool zhishu(int a){
//循环判断 a是否能被2~n-1之间的数整除
for(int i=2;i<=a-1;i++){
if(a%i==0){
return false;//不是质数
}
}
return true;
}
int main(){
int n;
cin>>n;
for(int i=2;i<=n;i++){
if(zhishu(i)== true){
if(zhishu(i+2)==true){
cout<<i<<" "<<i+2<<endl;
}
}
}
return 0;
}