题目描述
在素数(即:质数)的大家庭中,大小之差为 的两个素数称之为一对 “孪生素数” ,如 和 , 和 等。
请你编程找出不大于自然数n的孪生素数对。
输入格式
一个数n(n <= 10000)
输出格式
输出若干行,每行两个整数,之间用一个空格隔开,从小到大输出每一对孪生素数。
样例输入
100
样例输出
3 5
5 7
11 13
17 19
29 31
41 43
59 61
71 73
程序如下
#include <iostream>
using namespace std;
int n;
bool zs(int z)
{
int i;
bool flag = true;
if(z == 1)
{
return false;
}
for(i = 2; i < z; i++)
{
if(z % i == 0)
{
flag = false;
}
}
if(flag == true)
{
return true;
}
else
{
return false;
}
}
int main()
{
int x = -1, i;
cin>>n;
for(i = 1; i <= n; i++)
{
if(zs(i) == true)
{
if(i - x == 2)
{
cout<<x<<" "<<i<<endl;
}
x = i;
}
//cout<<x<<endl;
}
return 0;
}
————————————————