1139 - 【入门】孪生素数
题目描述
我们定义,如果a和a+2都是素数(如5和7),那么我们就称a和a+2是一对孪生素数。请写一个程序找出2-N之间的所有孪生素数。
输入
一个整数N( 2 < N < 1000 )。
输出
若干行,每行两个整数,即一对孪生素数。
样例
输入
10
输出
3 5 5 7
来源
函数问题
标签
代码如下:
#include<bits/stdc++.h>
using namespace std;
bool s(int n)
{
if(n<2)return false;
else if(n==2)return true;
bool r=true;
for(int i=2;i*i<=n;i++)//判断素数
{
if(n%i==0)r=false;
}
return r;
}
int main()
{
int n,i;
cin>>n;
for(int i=2;i<=n-2;i++)
{
if(s(i)==1&&s(i+2)==1)cout<<i<<" "<<i+2<<endl;//如果两个都是素数就输出
}
return 0;
}