CODE[VS] 2046 孪生素数 3 题解

由题意得:

1.输入一个数“n”,找出“n”以内的所有满足要求的素数对

2.以从小到大的顺序筛选,当“i”为素数时,判断“i+2”这个数是否为素数。如果是,计数器加一,不是,进行下一步筛选

3.代码如下:

#include<iostream>
using namespace std;

bool sieve(int num)
{
    for(int i=2; i*i<=num; i++)
    {
        if(num%i==0)
            return 0;
    }
    return 1;
}

int main()
{
    int num,t,count=1;
    cin>>num;
    for(int i=3; i<num; i+=2)
        if(sieve(i)&&sieve(i+2))
            count++;
    cout<<count;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/aptx4869971/article/details/82913952