PAT 乙级 1007 素数对猜想

让我们定义 d n d_n dn d n = p n + 1 − p n d_n=p_{n+1}-p_n dn=pn+1pn,其中 p i p_i pi是第i个素数。显然有 d 1 = 1 d_1=1 d1=1,且对于n>1有 d n d_n dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(< 1 0 5 10^5 105),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N。

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。

输入样例:

20

输出样例:

4

代码

// 1.找出所有素数
// 2.判断相邻素数之差
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<math.h>

bool Judge(int n_temp) // 判断素数
{
    int sq = (int)sqrt((double)n_temp);
    for(int i=2; i<=sq; i++ ){
        if (n_temp%i == 0){
            return false;
        } 
    }
    return true;
}
int main()
{
    int num,n1,n2,count;
    n1 = 3;
    count = 0;
    scanf("%d",&num);
    
    for (int i = 5; i <= num; i++)
    {
        if (Judge(i))
        {
            n2 = i;
            if (n2 - n1 == 2)
            {
                count++;
            }
            n1 = n2;
            
        }
    }
    printf("%d",count);
    return 0;
}
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页