一千题,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;
}
相关推荐
小江的记录本2 分钟前
【Java基础】Java 8-21新特性 :JDK17:密封类、模式匹配、Record类(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·python·mysql·面试·职场和发展
重生之我是Java开发战士12 分钟前
【贪心算法】柠檬水找零,将数组和减半的最少操作次数,最大数,摆动序列, 最长递增子序列,递增的三元子序列
算法·贪心算法
Godspeed Zhao12 分钟前
从零开始学AI17——SVM的数学支撑知识
算法·机器学习·支持向量机
我爱cope15 分钟前
【力扣hot100:53. 最大子数组和】
算法·leetcode·职场和发展
枕星而眠16 分钟前
数据结构哈希表(散列表)超详细总结
c语言·数据结构·后端·散列表
一条泥憨鱼16 分钟前
【Java 进阶】LinkedHashMap 与 TreeMap
java·开发语言·数据结构·笔记·后端·学习
Dlrb12119 小时前
C语言-指针三
c语言·算法·指针·const·命令行参数
Tisfy9 小时前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
IronMurphy9 小时前
【算法四十七】152. 乘积最大子数组
算法
淘矿人11 小时前
Claude辅助DevOps实践
java·大数据·运维·人工智能·算法·bug·devops