欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

素数对猜想

程序员文章站 2022-06-07 09:38:47
...

素数对猜想

需要知道的数学知识

  • 1 不是素数
  • 奇数不一定是素数
  • 素数加减2甚至4并不能保证所得一定是素数
Created with Raphaël 2.1.2开始n>=5 ?pre=小于等于n且最接近n的素数,i=pre,post=prei>=3 ? isPrime(i) ?pre=post post=ipre-post==2 ?count++i-=2结束count=0yesnoyesnoyesnoyesno
#include<iostream>
#include<cmath>
using namespace std;
bool isPrime(int n){
    if(n%2==0||n==1){
        return false;
    }else{
        for(int i=3;i<=sqrt(n);i+=2){
            if(n%i==0){
                return false;
            }
        }
        return true;
    }
} 
int main(int argc, char const *argv[])
{
    int n,count=0;
    cin>>n;
    if(n<5){
        cout<<0;
    }else{
        while(!isPrime(n)){
            n--;
        }
        int PrePrime=n,PostPrime=n;
        for(int i=n;i>=3;i-=2){
            if(isPrime(i)){
                PostPrime=PrePrime;
                PrePrime=i;
                if(PostPrime-PrePrime==2){
                    count++;
                }
            }
        }
        cout<<count;
    }
    return 0;
}
相关标签: pta刷题