2882 - 找孪生素数对

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

两个差为2的素数称之为孪生素数。现在输入整数n,求n以内的所有孪生素数对。

题目输入

一行:一个整数n (3<n<10000)

题目输出

若干行,每一行为一对相差为2的素数

输入/输出样例

输入格式

10

输出格式

3 5
5 7

C++解答

#include<iostream>
#include<cmath>
using namespace std;
int b[1001];
int ss(int );
int main()
{
   int n;
   cin>>n;
   for(int i=1;i<=n-2;++i)
   {
		if(ss(i)==0&&ss(i+2)==0)
			cout<<i<<" "<<i+2<<endl;
   }
   return 0;
}
int ss(int a)
{
	if(a==1||a==0||a<0)return 1;
	else
	{
		int x=2;
    int c=floor(sqrt(a));
	while(x<=c&&a%x!=0)
		++x;
	if(x>c)return 0;
	else return 1;
	}
}