首页 > 其他分享 >欧拉筛线性筛质数

欧拉筛线性筛质数

时间:2024-08-09 22:39:16浏览次数:6  
标签:ch int 质数 线性 欧拉 getchar

欧拉筛线性筛质数

经典题解

我的乱搞筛法和欧拉线性筛法的速度对比:

洛谷图片对比

模版code

#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000009;
bool a[100000009];
int read()
{
    int x=0,f=1;char ch=getchar();
    while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
    while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
int n, q;
bool isprime(int x)
{
    if (x < 2)
        return false;
    for (int i = 2; i * i <= x; i++)
    {
        if (x % i == 0)
            return false;
    }
    return true;
}
int pr[maxn], x = 0;
int main()
{
    std::ios::sync_with_stdio(0);
    std::cout.tie(0);
    n=read(), q=read();
    a[1]=1;
    for (int i = 2; i <= n; i++)
    {
        if(!a[i])
        pr[++x] = i;
        a[i]=1;
        for (int j = 1; j <= x&&i*pr[j]<=n; j ++)
        {
            a[i*pr[j]]=1;
            if(i%pr[j]==0)
                break;
        }
    }
    for (int i = 1; i <= q; i++)
    {
        int d=read();
        cout<<pr[d]<<'\n';
    }
    return 0;
}

标签:ch,int,质数,线性,欧拉,getchar
From: https://www.cnblogs.com/cxjy0322/p/18351619

相关文章

  • AP5101C 6-100V 2A LED降压恒流型的线性调光驱动器 台灯手电筒与汽车灯方案
    产品描述AP5101C是一款高压线性LED恒流芯片,外围简单、内置功率管,适用于6-100V输入的高精度降压LED恒流驱动芯片。最大电流2.0A。AP5101C可实现内置MOS做2.0A,外置MOS可做3.0A的。AP5101C内置温度保护功能,温度保护点为130度,温度达到130度时,输出电流慢慢减小,达到保护芯片电路......
  • 数学建模——线性规划模型
    前言:当学习完线性规划模型,我感觉到了数学建模的“细腻”之处,也可以从中感觉到他“细腻”的美感,为此想记录一下我学习数学建模的一些笔记跟心得。线性规划模型一般是求解最大值最小值问题,如果目标函数f(x)和约束条件均是决策变量的线性表达式,(即没有平方项和乘积项),那么此时的数......
  • 大质数分解模板
    jiangly的(偷一下i64mul(i64a,i64b,i64m){returnstatic_cast<__int128>(a)*b%m;}i64power(i64a,i64b,i64m){i64res=1%m;for(;b;b>>=1,a=mul(a,a,m))if(b&1)res=mul(res,a,m);......
  • 机器学习算法之一 线性回归
    1.线性预测函数定义左侧为真实值,右侧为预测值与误差的和,其中为权重矩阵。2.目标函数的推导2.1高斯分布函数误差符合独立同分布假设,服从均值为0的高斯分布:将线性函数带入,得:......
  • 【数值计算方法】非线性方程求根
    第七章非线性方程求根非线性方程求根非线性方程求根的基本问题非线性方程求解的问题也可以提为:\(f(x)=y\),其中:\(f:\mathbb{R}^n\to\mathbb{R}^m\)是一个非线性函数,\(y\in\mathbb{R}^m\)是给定的向量,\(x\in\mathbb{R}^n\)是一个未知向量.一般的,令\(g(x)=f(x)......
  • 【算法】【线性表】【链表】LRU 缓存2
    1 题目请你设计并实现一个满足  LRU(最近最少使用)缓存 约束的数据结构。实现 LRUCache 类:LRUCache(intcapacity) 以 正整数 作为容量 capacity 初始化LRU缓存intget(intkey) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。voidput(......
  • 【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)
     ......
  • 【数值计算方法】线性方程组的迭代解法-数值实验
    fromformu_libimport*importnumpyasnpA=np.array([[-55,-5,12],[21,36,-13],[24,7,47]])b=np.array([41,52,12])w=lambdat:0.1*txs,ys,ts=[],[],[]foriinrange(1,20):_,err=SORIter(A,b,w(i))xs.append(list(......
  • 线性方程组迭代算法的Python实现
    更多精彩,关注博客园主页,不断学习!不断进步!我的主页csdn很少看私信,有事请b站私信博客园主页-发文字笔记-常用有限元鹰的主页内容:ABAQUS数值模拟相关Python科学计算开源框架,编程学习笔记哔哩哔哩主页-发视频-常用FE-有限元鹰的个人空间内容:模拟案例网格划分游戏视频,......
  • 【数值计算方法】线性方程组迭代算法的Python实现
    线性方程组迭代算法的Python实现jacobi迭代法defJacobiIter(A:np.ndarray,b:np.ndarray,tol:float=1e-5,maxIter:int=100)->Tuple[np.ndarray,np.ndarray]:"""使用Jacobi迭代法求解线性方程组Ax=binput:......