XTU-OJ 1339-Interprime

news/2024/6/2 10:18:23 标签: 算法

题目描述

n是两个连续的奇素数的平均值,且n不是素数,那么我们称这样的数是"内部素数"。求区间[a,b]内"内部素数"的个数。比如,前5个"内部素数"是4,6,9,12,15。

输入

第一行是样例数T(1≤T≤1000)。 每个样例一行,为三个整数a,b(1≤a≤b≤106)。

输出

每行输出一个样例的结果。

样例输入

5
1 10
1 100
1 1000 
1 10000
1 100000

样例输出

3
24
166
1228
9591

解题思路:本题最大的毒点就是,你如果就把最大数定为1e6,那么你将永远找不到错在哪,因为忘记考虑 一个小于1e6的数 + 一个大于1e6的数 除以 2,还是可能 小于 1e6 的。 

 AC代码:

#include <stdio.h>

const int MAXN = 1e6+500;
bool vis[MAXN];               // 筛选MAXN个素数
int prime[80000];             // 把素数依次存放在该数组中
int abQuJian[MAXN];

void isPrime()
{
    for (int i = 2; i < MAXN; i ++)
    {
        if ( !vis[i])
            prime[++prime[0]] = i;      // prime[0] --> 筛选出的素数个数
        for (int j = 1; j <= prime[0] && i <= MAXN/prime[j]; j ++)
        {
            vis[i*prime[j]] = 1;
            if (i % prime[j] == 0)
                break;
        }
    }
}

void solve()
{
    for (int i = 2; i < prime[0]; i ++)
    {
        int n = (prime[i]+prime[i+1])/2;
        abQuJian[n] = 1;
    }
    for (int i = 2; i <= MAXN; i ++)
        abQuJian[i] += abQuJian[i-1];
}

int main()
{
    isPrime();          // 欧拉筛
    solve();            // 前缀和
    int T,a,b;
    scanf("%d",&T);
    while ( T --)
    {
        scanf("%d %d",&a,&b);
        printf("%d\n",abQuJian[b]-abQuJian[a-1]);
    }
}


http://www.niftyadmin.cn/n/5098675.html

相关文章

AR智能眼镜主板设计方案_AR眼镜PCB板设计

AR智能眼镜是一种采用先进技术的创新产品&#xff0c;具备强大的功能和性能。它采用了MTK8788八核 12nm低功耗硬件平台&#xff0c;搭载IMG GE830063OMhz或以上的GPU&#xff0c;并运行Android 11.0或以上的操作系统。该眼镜支持光波导1080P显示和LVDS接口自由曲面显示&#xf…

【0day】复现海康威视综合安防管理平台信息泄露(内网集权账户密码)漏洞

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现

力扣刷题 day47:10-17

1.位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为汉明重量&#xff09;。 方法一&#xff1a;逐个判断 利用n&1 #方法一&#xff1a;逐个…

图扑智慧仓储数据可视化监控平台

随着市场竞争加剧和市场需求的不断提高&#xff0c;企业亟需更加高效、智能且可靠的仓储物流管理方式&#xff0c;以提升企业的物流效率&#xff0c;减少其输出成本&#xff0c;有效应对市场上的变化和挑战。 图扑软件应用自研 HT for Web 产品搭建的 2D 智慧仓储可视化平台&a…

Creating parameterized tests with JUnit4

环境 hamcrest-all-1.3 junit-4.13.2 被测类 package com.yaya.junit;public class Factorial {public long factorial(long number) {if(number 0) {return 1;}return number*factorial(number-1);} }测试类一&#xff1a;使用构造函数 package com.yaya.junit;import org.…

9种js数组去重方法都有哪些?

一、利用 ES6 Set 去重&#xff08;ES6 中最常用&#xff09; function unique (arr) {return Array.from(new Set(arr)) } var arr [1,1,true,true,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,NaN, 0, 0, a, a,{},{}]; console.log(unique(arr…

以太网诊断协议DoIP(Ethernet Diagnostic Protocol DoIP)

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everythi…

Hadoop3教程(二十一):MapReduce中的压缩

文章目录 &#xff08;123&#xff09;压缩概述在Map阶段启用在Reduce阶段启用 &#xff08;124&#xff09;压缩案例实操如何在Map输出端启用压缩如何在Reduce端启用压缩 参考文献 &#xff08;123&#xff09;压缩概述 压缩也是MR中比较重要的一环&#xff0c;其可以应用于M…