10:素数对( 1.12编程基础之函数与过程抽象)

来源:互联网 发布:maven java目录下的xml 编辑:程序博客网 时间:2024/06/03 17:47

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>using namespace std;//http://noi.openjudge.cn/ch0112/10///埃氏筛法,挑战程序设计P119 const int N=11000;int n,flag=0;bool is_prime[N];int main(){    cin>>n;    for(int i=2;i<=n;i++)is_prime[i]=true;    is_prime[0]=false;is_prime[1]=false;    for(int i=2;i<=n;i++){        if(is_prime[i]){            for(int j=2*i;j<=n;j=j+i){                is_prime[j]=false;            }            if(is_prime[i-2]){                flag=1;                cout<<i-2<<" "<<i<<endl;            }        }    }    if(flag==0)cout<<"empty"<<endl;}
原创粉丝点击