您的位置:首页 > 其它

10:素数对

2017-03-03 20:19 239 查看

10:素数对

查看

提交

统计

提问

总时间限制: 1000ms 内存限制: 65536kB描述
两个相差为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<cstdio>
#include<cstdlib>
using namespace std;
int b[10001];
int now;
int n;
void find(int a)
{
for(int i=3;i<=a;i++)
{
for(int j=2;j<i;j++)
{
if(i%j==0)
break;
else if(j==i-1&&i%j!=0)
{
b[now]=i;
now++;
break;
}
}
}
for(int i=0;i<now;i++)
{
if(b[i+1]-b[i]==2)
{
cout<<b[i]<<" "<<b[i+1];
cout<<endl;
}
}
}
int main()
{

cin>>n;
if(n<5)cout<<"empty";
else
find(n);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: