当前位置: 首页 > web >正文

数与运算-埃氏筛 P1835 素数密度

P1835 素数密度
数与运算-埃氏筛
题目来源-洛谷题库
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5;
typedef long long LL;
bool is_prime[maxn + 5], check[1000009];//根号n内的质数表和 
vector<long long> p;void init() // 埃氏筛预处理1e5范围内的素数
{is_prime[0] = is_prime[1] = true;for (LL i = 2; i <= maxn; i++){if (!is_prime[i]){p.push_back(i);for (LL j = i * i; j <= maxn; j += i)//每次都从其i*i倍开始 is_prime[j] = true;}}
}int main()
{init();LL l, r;cin >> l >> r;//开始用质数表筛掉l-r区间的合数 for (int i = 0; i < p.size(); i++) {//直接从L-R区间内最小的p[i]的倍数开始筛,//第一种情况:p[i]*p[i]<L(舍去,找>L的 倍数) //第二种情况p[i]*p[i]远大于L-说明L- p[i]*p[i]都是筛过的或者都是质数 LL x = max(p[i] * p[i], (l + p[i] - 1) / p[i] * p[i]);for (LL j = x; j <= r; j += p[i])check[j - l] = true;//通过映射 直接映射:处理 j(对应j-l) 节约空间 }//特判数据是1 的情况 if(l == 1) check[0] = true;int cnt = 0;//计算最终结果 for (int i = l; i <= r; i++){if (!check[i - l])cnt++;}cout << cnt;return 0;
}

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5;
typedef long long LL;
bool is_prime[maxn + 5], check[1000009];//根号n内的质数表和
vector p;

void init() // 埃氏筛预处理1e5范围内的素数
{
is_prime[0] = is_prime[1] = true;

for (LL i = 2; i <= maxn; i++)
{if (!is_prime[i]){p.push_back(i);for (LL j = i * i; j <= maxn; j += i)//每次都从其i*i倍开始 is_prime[j] = true;}
}

}

int main()
{
init();
LL l, r;
cin >> l >> r;
//开始用质数表筛掉l-r区间的合数
for (int i = 0; i < p.size(); i++)
{
//直接从L-R区间内最小的p[i]的倍数开始筛,
//第一种情况:p[i]*p[i]<L(舍去,找>L的 倍数)
//第二种情况p[i]*p[i]远大于L-说明L- p[i]*p[i]都是筛过的或者都是质数
LL x = max(p[i] * p[i], (l + p[i] - 1) / p[i] * p[i]);
for (LL j = x; j <= r; j += p[i])
check[j - l] = true;//通过映射 直接映射:处理 j(对应j-l) 节约空间
}
//特判数据是1 的情况
if(l == 1) check[0] = true;
int cnt = 0;
//计算最终结果
for (int i = l; i <= r; i++)
{
if (!check[i - l])
cnt++;
}
cout << cnt;
return 0;
}

http://www.xdnf.cn/news/15023.html

相关文章:

  • Python入门笔记
  • 容器技术技术入门与Docker环境部署
  • JavaScript中的Request详解:掌握Fetch API与XMLHttpRequest
  • 微前端框架对比
  • unity 模型UV重叠问题相关(重新整理)
  • web网页,在线%发布,智能投稿,新闻系统%分析系统demo,基于aspnet,net,mvc,echart,sqlserver数据库
  • Spring Boot项目中整合MCP协议及实现AI应用实践
  • 领域驱动设计(DDD)重塑金融系统架构
  • [论文阅读] 人工智能 | 读懂Meta-Fair:让LLM摆脱偏见的自动化测试新方法
  • Qt中的QProcess类
  • 计算阶梯电费
  • CSS知识复习4
  • 安卓10.0系统修改定制化_____安卓9与安卓10系统文件差异 有关定制选项修改差异
  • 瑞斯拜考研词汇课笔记
  • 华为OD机试 2025B卷 - 最长的指定瑕疵度的元音子串 (C++PythonJAVAJSC语言)
  • 指尖上的魔法:优雅高效的Linux命令手册
  • 微软重磅开源Magentic-UI!
  • 在bash shell 函数传递数组的问题2
  • mysql5.7系列-InnoDB的MVCC实现原理
  • 各服务器厂商调整BIOS睿频教程
  • 【Vben3全解】【组件库开发】解决组件库开发中css的命名难题,保证代码质量,构建useNamespace函数
  • Day08-Flask 或 Django 简介:构建 Web 应用程序
  • 量子计算+AI芯片:光子计算如何重构神经网络硬件生态
  • Malformed \uxxxx encoding.
  • Java设计模式之行为型模式(策略模式)介绍与说明
  • Podman与Docker详细比较:从原理到使用
  • 0704-0706上海,又聚上了
  • 字符函数和字符串函数(下)- 暴力匹配算法
  • 改变this指向的方法
  • 前端环境nvm/pnpm下载配置