首页 > 其他分享 >[学习笔记] 质数与唯一分解定理 - 数论

[学习笔记] 质数与唯一分解定理 - 数论

时间:2024-05-02 19:22:49浏览次数:28  
标签:return 数论 质数 笔记 while ans ll mod

素性测试

素性测试就是判断某个数是否为质数。

费马小定理

内容:若 \(p\) 为质数,\(a\)为任意整数,有 \(a^{p-1}\equiv 1(mod\ p)\)

那么可以多次随机取一个基数 \(a\in (1,p)\) 若 \(p\) 满足上式,那么它为质数的可能性就越大。

Millar Rabin 素性测试

inline ll qpow(ll a, ll n, ll mod){
	ll ans = 1;
	while(n){
		if(n & 1) ans = (__int128)a * ans % mod;
		a = (__int128)a * a % mod;
		n >>= 1;
	} return ans;
}
inline bool MillarRabin(ll n){
	if(n < 3 || n%2 == 0) return n == 2;
	ll u = n-1, t = 0;
	while(!(u%2)) u >>= 1, ++t;
	for(int i=1; i<=8; ++i){
		ll a = rand()%(n-2) + 2, v = qpow(a, u, n), s;
		if(v == 1) continue;
		for(s=0; s<t; ++s){
			if(v == n-1) break;
			v = qpow(v, 2, n);
		}
		if(s == t) return false;
	} return true;
}

唯一分解定理

任何一个大于1的整数n都可以分解成若干个素因数的连乘积。\(n=p_1^{k1}p_2^{k2}p_3^{k3}p_4^{k4}...\)

这条定理看似简单实则非常厉害,可以吧许多复杂的数论问题转化到质因子层面上。

约数和定理

任意一个大于1的整数 \(n\) 的因数和都可以表示为 \(\sum {ki+1}\)。证明很简单,对所有质因子的系数排列组合+乘法原理即可。

分解质因数

试除法

看道例题 阶乘分解

不难发现:\(n!\) 的质因数即为从1到n所有的质数,可以使用欧拉筛,但问题在于如何求质因数的系数。通过找规律(找了我一个多小时

标签:return,数论,质数,笔记,while,ans,ll,mod
From: https://www.cnblogs.com/xiaolemc/p/18170453

相关文章

  • Unity热更学习笔记--AB包的依赖 0.98
    AB包的依赖接上一小结。在这里我们新建一个红色材质球,赋值给Cube预制体。此时不对材质球进行AB包分类,再次进行打包。运行脚本,发现红色cube成功的从AB包中加载出来。尽管我们没有将cube所依赖的材质球进行打包分类,但是打包时候unity会自动将包中的物体相关依赖打入包中【图三所示......
  • 学习笔记-JVM OOM实验
    堆内存溢出packagecom.dameng.lxm;importjava.util.ArrayList;importjava.util.List;publicclassHeapOOM{ staticclassOOMObject{ } publicstaticvoidmain(String[]args){ List<OOMObject>objlist=newArrayList<OOMObject>(); while......
  • Tinkercad学习笔记
    简介官网:https://www.tinkercad.com“Tinkercad是一款免费的在线软件工具集合,可帮助世界各地的用户进行思考、创造和制造。我们是三维设计、工程和娱乐软件领导企业Autodesk(//www.autodesk.com.cn/)的理想推介。”电路快速上手注册之后,在https://www.tinkercad.com/dashbo......
  • 数论
    数论常见筛法对于任意正整数\(A\),存在唯一集合{\((p_1,q_1),(p_2,q_2),\dots,(p_n,q_n)\)}满足\(A=\prod^n_{i=1}{p_i}^{q_i}\)\(\min(a,b)+\max(a,b)=a+b\)\(\gcd(a,b)\times\operatorname{lcm}(a,b)=ab\)埃氏筛在\(O(n\log\logn)\)时间内预处理出\([1,n]\)内所......
  • 网课-数论学习笔记
    埃氏筛P7960[NOIP2021]报数P1835素数密度:区间筛。预处理\(\sqrt{R}\)内的质数,然后用埃氏筛筛[L,R]的质数。线性筛-EOF-欧拉函数P10031「CfzRound3」XorwithGcd光速乘用于解决$$llTimes(lla,llb,llc){ ullt=(longdouble)a*b/c+0.5; llans=(u......
  • 数论学习笔记 (4):扩展欧几里得算法
    概述扩展欧几里得算法(\(exgcd\))可以用来求形如\(ax+by=c\)的不定方程的通解。铺垫-\(\small\texttt{ax+by=gcd(a,b)}\)的解\(exgcd\)的思想是在用辗转相除法递归\(gcd(a,b)\)的回溯时求出对应方程\(ax+by=gcd(a,b)\)的解。考虑方程\(ax+by=gcd(a,b)\)。看回辗......
  • 王道数据结构个人向笔记-第二章(线性表)
    目录2.1线性表的定义和基本操作2.2顺序表2.2.1顺序表的定义2.2.2顺序表的插入、删除(实现是基于静态分配)2.2.3顺序表的查找2.3链表2.3.1单链表的定义2.3.2单链表的插入删除2.3.3单链表的查找2.3.4单链表的建立2.3.4双链表2.3.5循环链表2.3.6静态链表2.3.7顺序表和链......
  • 数论模拟(1) 小朋友们,我们今天来找规律
    \(60\)分钟,干出来\(30\)至\(40\)分(满分\(50\)),最后一步没写出来还是有点rz.题目:求最小的整数\(n\),使得对至少两个不同的奇素数\(p\),有\[\sum_{k=1}^{n}(-1)^{v_p(k!)}<0.\]解:根据\(v_p\)函数的性质,可以对所有正整数进行规律性地分块,每块中的\(v_p\)值都是相同的:......
  • Web命令执行笔记(持续更新)
    Web命令执行笔记会将web命令执行的题目放到这篇博客来记录,方便自己日后查阅。XYCTF-ezRCE(只允许数字、$、<、\)<?phphighlight_file(__FILE__);functionwaf($cmd){$white_list=['0','1','2','3','4','5','6','7'......
  • 《自动机理论、语言和计算导论》阅读笔记:p215-p351
    《自动机理论、语言和计算导论》学习第11天,p215-p351总结,总计37页。一、技术总结1.constrainedproblem2.Fermat'slatstheoremFermat'sLastTheoremstatesthatnothreepositiveintegersa,bandcsatisfytheequationa^n+b^n=c^nforanyintegervalue......