一千题,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;
}
相关推荐
一个不知名程序员www1 小时前
算法学习入门 --- 哈希表和unordered_map、unordered_set(C++)
c++·算法
Sarvartha2 小时前
C++ STL 栈的便捷使用
c++·算法
夏鹏今天学习了吗3 小时前
【LeetCode热题100(92/100)】多数元素
算法·leetcode·职场和发展
飞Link3 小时前
深度解析 MSER 最大稳定极值区域算法
人工智能·opencv·算法·计算机视觉
bubiyoushang8883 小时前
基于CLEAN算法的杂波抑制Matlab仿真实现
数据结构·算法·matlab
曾经的三心草3 小时前
redis-2-数据结构内部编码-单线程-String命令
数据结构·数据库·redis
2401_894828124 小时前
从原理到实战:随机森林算法全解析(附 Python 完整代码)
开发语言·python·算法·随机森林
Remember_9934 小时前
【LeetCode精选算法】前缀和专题二
算法·哈希算法·散列表
源代码•宸4 小时前
Leetcode—509. 斐波那契数【简单】
经验分享·算法·leetcode·面试·golang·记忆化搜索·动规
博大世界5 小时前
matlab结构体数组定义
数据结构·算法