#include <iostream>
#include <algorithm>
using namespace std;
const int N= ;
int primes[N], cnt;
bool st[N];
void get_primes(int n) { //n只会被最小质因子筛掉
for (int i = ; i <= n; i ++ ) {
if (!st[i])//如果是质数
primes[cnt ++ ] = i;
for (int j = ; primes[j] <= n / i; j ++ ) {//从小到大枚举的质数
st[primes[j] * i] = true;//每一次把当前质数和i的乘积筛掉
//当i%pj==0 pj一定是i的最小质因子,pj一定是pj*i的最小质因子
//当i%pj!=0,pj一定小于i的所有质因子,pj也一定是pj*i 的最小质因子
if (i % primes[j] == )//primes[j]是n的最小质因子
break;
}
}
}
int main() {
int n;
cin >> n;
get_primes(n);
cout << cnt << endl;
return ;
}

AcWing 868. 筛质数 线性筛法的更多相关文章

  1. acwing 868. 筛质数

    线性筛 #include<bits/stdc++.h> #define N 1000010 using namespace std; int v[N],p[N]; void pr(int ...

  2. 素数筛 : Eratosthenes 筛法, 线性筛法

    这是两种简单的素数筛法, 好不容易理解了以后写篇博客加深下记忆 首先, 这两种算法用于解决的问题是 : 求小于n的所有素数 ( 个数 ) 比如 这道题 在不了解这两个素数筛算法的同学, 可能会这么写一 ...

  3. noip知识点总结之--线性筛法及其拓展

    一.线性筛法 众所周知...线性筛就是在O(n)的时间里找出所有素数的方法 code: void get_prime(int N){ int i, j, k; memset(Flag, ); ; i ...

  4. 欧拉筛,线性筛,洛谷P2158仪仗队

    题目 首先我们先把题目分析一下. emmmm,这应该是一个找规律,应该可以打表,然后我们再分析一下图片,发现如果这个点可以被看到,那它的横坐标和纵坐标应该互质,而互质的条件就是它的横坐标和纵坐标的最大 ...

  5. 洛谷 P3383 【模板】线性筛素数-线性筛素数(欧拉筛素数)O(n)基础题贴个板子备忘

    P3383 [模板]线性筛素数 题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范 ...

  6. <转载>一般筛法和快速线性筛法求素数

    素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功. 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 ..N^(0.5) ,看看能否整除N. 如果需要判断的次数较多,则先用 ...

  7. [算法]素数筛法(埃氏筛法&线性筛法)

    目录 一.素数筛的定义 二.埃氏筛法(Eratosthenes筛法) 三.线性筛法 四.一个性质 一.素数筛的定义 给定一个整数n,求出[1,n]之间的所有质数(素数),这样的问题为素数筛(素数的筛选 ...

  8. poj 2262 Goldbach's Conjecture——筛质数(水!)

    题目:http://poj.org/problem?id=2262 大水题的筛质数. #include<iostream> #include<cstdio> #include& ...

  9. Project Euler 46 Goldbach's other conjecture( 线性筛法 )

    题意: 克里斯蒂安·哥德巴赫曾经猜想,每个奇合数可以写成一个素数和一个平方的两倍之和 9 = 7 + 2×1215 = 7 + 2×2221 = 3 + 2×3225 = 7 + 2×3227 = 1 ...

随机推荐

  1. 被遗忘的宝藏-LaTeX发行版自带字体&自己一些字体心得

    KMC大作,如果用xelatex的话,这些知识仅仅作为大家了解.希望对于学习latex有所裨益.原文地址:http://bbs.ctex.org/viewthread.php?tid=43596&am ...

  2. SQLyog使用教程

    详见链接:https://blog.csdn.net/qq_41520612/article/details/95474531 SQLyog连接MySQL时出现的2058错误解决方法 解决方法:win ...

  3. UVa - 12050 Palindrome Numbers (二分)

    Solve the equation: p ∗ e −x + q ∗ sin(x) + r ∗ cos(x) + s ∗ tan(x) + t ∗ x 2 + u = 0 where 0 ≤ x ≤ ...

  4. WebService 之 SoapHeader

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. Lumen跨域问题,PHP CORS Middleware

    前导 本篇文字作为?<「新轮子」PHP CORS (Cross-origin resource sharing),解决 PHP 项目程序设置跨域需求.>的续篇. 简介 什么是 medz/c ...

  6. leetcode top-100-liked-questions刷题总结

    一.起因 宅在家中,不知该做点什么.没有很好的想法,自己一直想提升技能,语言基础自不必言,数据结构还算熟悉,算法能力一般.于是乎,就去刷一通题. 刷题平台有很多,我选择了在leetcode进行刷题.回 ...

  7. Python之QRCode

    目录 一.基本介绍 介绍 QRCode二维码版本展示 QRCode方法 常用函数 二.安装QRCode 三.基本案例 生成普通二维码: 生成带有图片的二维码: 四.制作动态二维码 安装 myqr 和 ...

  8. 三、linux环境的搭建1(oracle、ssh、jdk、mysql、samba、tomcat)

    linux环境的搭建1(oracle.ssh.jdk.mysql.samba.tomcat)   网络配置 方案一 tip 1 使用ifconfig : ifconfig eth0 新ip 然后编辑/ ...

  9. 用户注册(php)login(非美化)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  10. eclipse的一些使用

    1.恢复默认视图 window->perspective->open perspective ->open java 2.打开其他的一些视图,比如server(tomcat,目前使用 ...