一千题,No.0014(素数对猜想)

让我们定义dn​为:dn​=pn+1​−pn​,其中pi​是第i个素数。显然有d1​=1,且对于n>1有dn​是偶数。"素数对猜想"认为"存在无穷多对相邻且差为2的素数"。

现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

复制代码
20

输出样例:

复制代码
4

解题思路:

用left存储左边的数字,循环到n,如果i-left = 2则使结果+1,并每次使left更新为i

c++代码如下:

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

bool is_num(int n)
{
    if(n < 2)
    {
        return false;
    }

    for(int i = 2;i <= ::sqrt(n);++i)
    {
        if(n%i == 0)
        {
            return false;
        }
    }
    return true;
}

int main()
{
    int res = 0;
    int n;
    cin >> n;
    int left = 2;//左边的数
    for(int i = 3;i <= n;++i)
    {
        if(is_num(i))//如果不是质数则不必理会
        {
            if(i-left == 2)
            {
                ++res;
            }
            left = i;//更新left
        }
    }
    cout << res;
}
相关推荐
wanderist.18 分钟前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
稚南城才子,乌衣巷风流1 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流1 小时前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_100862 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
KaMeidebaby2 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
geovindu3 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
ekkoalex4 小时前
训练框架以及算法实现的框架
算法
DFT计算杂谈5 小时前
交错磁研究进展材料物性与交叉应用
数据库·人工智能·python·opencv·算法
玖玥拾5 小时前
LeetCode 26 删除有序数组中的重复项
算法·leetcode
Kina_C5 小时前
LVS负载均衡的十二种核心调度算法
linux·运维·算法·负载均衡·lvs