1007

image.png

这题很有意思
大于2的偶数都不是质数
2,3,5,7是10以内的质数,(2,3)不满足条件,所以从3开始,遍历所有奇数。比较每个奇数和下一个奇数是否满足条件。
我们需要有高效的判断一个数是不是质数的函数
可以参考:http://c.biancheng.net/view/498.html

#include 
#include 
using namespace std;

bool judge(int num)
{
    int i;
    int k;

    k=(int)sqrt((double)num);
    for(i=2;i<=k;i++)
    {
        if(num%i==0)
            break;
    }
    if(i>k)
        return true;
    else
        return false;
}

int main()
{
    int range;
    cin>>range;
    int sta=3;
    int res=0;
    while(sta<=range)
    {
        int next=sta+2;
        if(next>range)
            break;
        if(judge(sta)&&judge(next))
            res++;

        sta=next;
    }
    cout<
1007.png

你可能感兴趣的:(1007)