寻找孪生素数

数学家希尔伯特在1900年国际数学家大会的报告上提出一个“孪生素数猜想”,即:
存在无穷多个素数p,使得p + 2是素数。p和p+2这一对差为2的素数,被称为“孪生素数”。

看起来,这个猜想是成立的,我们总能找到很多对孪生素数,例如:3和5,5和7,11和13……
这一猜想至今还未被证明。

现在,对于给定的整数n
请寻找大于n的最小的一对孪生素数pq(q=p+2)。

输入格式:

一个不超过7位数字的整数n。

输出格式:

在一行中输出 p q ,中间用空格间隔。

输入样例:

100

输出样例:

101 103
#include
using namespace std;
int ss(int x){
    int k=0;
    for(int i=2;i<=sqrt(x);i++){
        if(x%i==0)k=1;
    }
    return k;
}
int main(){
    int n,p,q;
    cin>>n;
    if(n<=1){cout<<"3 5";return 0;}
    for(p=n+1;;p++){
        q=p+2;
        if(ss(p)==0&&ss(q)==0){
            cout<

 

你可能感兴趣的:(pta,算法,数据结构)