一千题,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;
}
相关推荐
2501_908329853 分钟前
实时音频处理C++实现
开发语言·c++·算法
dapeng28703 分钟前
移动语义与完美转发详解
开发语言·c++·算法
bbbb3656 分钟前
算法工程中的可扩展性与分布式实现方案的技术7
算法
Shining05966 分钟前
AI 编译器系列(六)《Stable Diffusion 在 InfiniTensor 推理框架中的适配与工程实践》
人工智能·算法·stable diffusion·大模型·图像生成·ai编译器·infinitensor
佩奇大王7 分钟前
P159 摆动序列
java·开发语言·算法
北顾笙9807 分钟前
测开准备-day02数据结构力扣
数据结构
weixin_537590458 分钟前
《C程序设计语言》练习答案(练习1-7)
linux·c语言·算法
!停11 分钟前
C++基础入门(缺省参数,函数重载,引用)
开发语言·c++·算法
我不是秋秋12 分钟前
软件开发项目各角色关系解析:产品/前后端/测试如何高效协作?
java·算法·面试·职场和发展·哈希算法
Tisfy13 分钟前
LeetCode 1886.判断矩阵经轮转后是否一致:模拟
算法·leetcode·矩阵·题解·模拟