首页 > 其他分享 >素数相关

素数相关

时间:2023-11-13 11:57:55浏览次数:40  
标签:phi int dfrac varphi pmod 素数 相关 prod

筛法

埃氏筛

\(O(n\log\log n)\)

inline void primes(int n)
{
    memset(v,0,sizeof v);
    for(int i = 2;i <= n;i++){
        if(v[i]) continue;
        p.push_back(i);
        for(int j=i;j<=n/i;j++) v[j*i]=1;
    }
}

线性筛

\(O(n)\)

inline void xxs(int n)
{
    memset(v,0,sizeof v);
    m=0;
    for(int i = 2;i <= n;i++){
        if(!v[i]) p[++m]=i;
        for(int j = 1;j <= m;j++){
            if(p[j]*i>n) break;
            v[i*p[j]]=1;
            if(i%p[j]==0)break;
        }
    }
}

欧拉函数

\(\varphi(x)\) 表示小于等于 \(x\) 的正整数中与 \(x\) 互质的数的数量。规定 \(\varphi(1) = 1\) 。

性质

  1. 若 \(p\) 为质数, \(\varphi(p^n) = p^{n-1}(p-1)\)
  2. 若 \(a|x\) ,\(\varphi(ax)=a\varphi(x)\)
  3. 若 \(a,b\) 互质,\(\varphi(a)\varphi(b)=\varphi(ab)\)

性质 \(1\) 证明:

小于等于 \(p^n\) 的正整数中,不与 \(p^n\) 互质的只有 \(p,2p,3p,...,p^{n-1}p\) 共 \(p^{n-1}\) 个数,\(\varphi(p^n)=p^n-p^{n-1}=p^{n-1}(p-1)\) 。

求欧拉函数

单次求欧拉函数

设 \(p_i\) 表示 \(x\) 的质因数。

\[\varphi(x)=x\prod\dfrac{p_i-1}{p_i} \]

将 \(x\) 质因分解即可,时间复杂度 \(O(\sqrt n)\) 。


证明:

\[x=\prod {p_i}^{k_i} \]

由性质 \(3\) 可得:

\[\varphi(x)=\prod\varphi({p_i}^{k_i}) \]

由性质 \(2\) 可变为:

\[\begin{aligned}\varphi(x) & =\prod {p_i}^{k_i-1}(p_i-1)\\& =\prod {p_i}^{k_i}\dfrac{1}{p_i}(p_i-1)\end{aligned} \]

将 \({p_i}^{k_i}\) 提出来得 \(x\) ,即:

\[\varphi(x)=x\prod\dfrac{p_i-1}{p_i} \]

求 1~n 的欧拉函数

与线性筛相结合。

  • 若 \(x\) 为质数,\(\varphi(x)=x-1\) 。(性质 \(1\) )
  • 否则对于 \(x\) 的质因数 \(p\) ,\(\varphi(x)=\begin{cases}p\cdot\varphi\left(\dfrac{x}{p}\right) \ \ \ \ \ \ \ \ \ \left(p|\dfrac{x}{p}\right)\ \ \ \ 性质 2\\\varphi(p)\cdot\varphi \left(\dfrac{x}{p}\right) \ \ \ \left(p\nmid\dfrac{x}{p}\right)\ \ 性质3\end{cases}\)

时间复杂度 \(O(N)\)

void primes(int n)
{
    memset(v,0,sizeof v);
    m=0;
    phi[1]=1;
    for(int i = 2;i<= n;i++){
        if(!v[i]) p[++m]=i,phi[i]=i-1;
        for(int j = 1;j <= m;j++){
            if(p[j]*i>n) break;
            v[i*p[j]]=1;
            if(i%p[j]==0) {phi[i*p[j]]=p[j]*phi[i];break;}
            else phi[i*p[j]]=phi[p[j]]*phi[i];
        }
    }
}

欧拉定理

若正整数 \(a\) 与 \(m\) 互质,则

\[a^{\varphi(m)}\equiv 1\pmod m \]

当 \(m\) 为质数时,退化为费马小定理 \(a^{p-1} \equiv 1 \pmod p\) 。

推论:

\[a^b\equiv a^{b\mod \varphi(m)} \pmod m \]

利用这个推论可以在 \(b\) 很大的情况下求出 \(a^b\pmod m\) 。

扩展欧拉定理

若 \(b\ge\varphi(m)\) ,则:

\[a^b\equiv a^{b\mod \varphi(m)+\varphi(m)} \pmod m \]

标签:phi,int,dfrac,varphi,pmod,素数,相关,prod
From: https://www.cnblogs.com/cnm2k3h/p/17828802.html

相关文章

  • 同余相关
    取余定义:\(a\%b=a-b\left\lfloor\dfrac{a}{b}\right\rfloor\)整除\(a|b\)表示\(a\)能被\(b\)整除,即\(b=a\timesk(k\inZ)\)。同余\(a\equivb\pmodm\)表示\(a\modm=b\modm\)。相当于\(a-b=m\timesk(k\inN)\)。裴属定理内容若\(a\),\(......
  • 银河麒麟系统下idea相关
    idea安装1、下载ideaIU-2023.2.4-aarch64.tar.gz,可用最新版本。网址:https://www.jetbrains.com/idea/download/download-thanks.html?platform=linuxARM642、操作系统更新命令:sudoaptupdate命令:aptlist3、解压下载的安装文件命令:tar-zxvfideaIU-2023.2.4-aarch64.tar.......
  • Odoo模型_联系人相关
    res.partner(联系人)联系人包括客户的公司以公司的员工、供应商的公司以及公司的员工。res.partner.category(联系人标签)用于给联系的人打标签,也是树形结构,可以设置上级标签,类似产品中的产品类。res.partner.title(联系人称谓)当联系人为个人或者是公司下面的......
  • Odoo模型_产品相关
    product.template(产品模板)product.product(产品变体)product.attribute(产品属性)预设产品变体的属性,包括尺码、颜色等。product.template.attribute.line(产品属性明细)产品属性明细就是产品属性的值可以预设几种,用来选择,结合产品属性生成变体。product.category(......
  • 本机Java连接虚拟机的redis相关
    1、代码Jedisjedis=newJedis("192.168.88.151",6379);2、开启6379端口//查看6379端口是否开启--yes是开启;no是关闭firewall-cmd--query-port=6379/tcp//开启6379端口firewall-cmd--zone=public--add-port=6379/tcp--permanent//重启使生效firewall-cmd--reloa......
  • 虚拟机安装redis相关步骤
    1、官网下载地址--https://download.redis.io2、下载rediswgethttp://download.redis.io/releases/redis-5.0.7.tar.gz3、将文件解压缩tar-zvxfredis-5.0.7.tar.gz4、编译redis//在解压文件的目录下执行make命令cdredis-5.0.7make几个文件也都成功出现啦:......
  • Linux中的权限属性以及ACL相关的命令
    Linux系统中,一切皆文件。对于存在于Linux系统的文件来讲系统中的用户分别属于三种不同的角色,分别是属主、属组、其他。属主:所有者 owner|user  u属组:属于哪个组groupg其它用户:不是所有者,也不是组中的用户othero三个角色对文件拥有三种不同的权限:读权限  read     ......
  • 【RAG问答相关】复杂知识库问答综述(下)
    前言大模型落地应用过程中,一般形式还是问答形式,无论是人机对话还是机机对话,都是靠问答来解决一系列问题。无论是要求大模型给出具体的专业化知识,还是要求大模型进行某项作业的开展,都是以问题(指令其实也是一种特殊的问题)的形式进行。所以在RAG中,如何将问题转化为大模型能够理解的......
  • JVM系列-第10章-垃圾回收概述和相关算法-cnblog
    title:JVM系列-第10章-垃圾回收概述和相关算法tags:-JVM-虚拟机categories:-JVM-1.内存与垃圾回收篇keywords:JVM,虚拟机。description:JVM系列-第10章-垃圾回收概述和相关算法。cover:'https://gitee.com/youthlql/randombg/raw/master/logo/jvm.png'ab......
  • 【小沐学前端】Windows下搭建WordPress(二、相关工具安装)
    1、简介WordPress是基于PHP和MySQL的免费开源内容管理系统(CMS)。它是全球使用最广泛的CMS软件,截至2019年5月,它为排名前1000万个网站中提供了超过30%的支持,并拥有在使用CMS构建的所有网站中,估计有60%的市场份额。2、搭建环境2.1Nginx配置nginx.conf,文件在nginx目录下的conf文件夹......