• 2024-06-22基础数论
    素数素数和合数定义若\(p\in\Zeta\),且\(p\not=0,\pm1\),其约数集合中的元素只有\(1\)和\(p\)本身,那么称\(p\)为素数。若\(a\in\Zeta\),且\(a\not=0,\pm1\),\(a\)不为素数,则为合数。素数一般指正的素数。素数计数\(\pi(x)\)表示小于或等于\(x\)的素
  • 2024-05-27赛克oj 1541(线性筛、约数个数)
    赛氪OJ-专注于算法竞赛的在线评测系统(saikr.com)题目描述小明在学校学了质数和合数的知识后,便想知道对于任意的一个数N,将其拆分为一个质数与一个合数相加的结果,有几种拆法?但后来想想又觉得太简单了,于是他追加了一些条件,合数要继续拆分为两个数相乘的形式才行,那么满足以上
  • 2024-05-22python0008
    用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。defsieve(n,m):"""输入两个正整数n和m,返回[n,m]范围内的所有素数的列表"""#初始化一个长度为m-n+1的列表,用于标记数值是否为素数is_prime=[True]*(m-n+1)#如果n为1,则将1
  • 2024-05-21线性筛
    一、算法简析线性筛,又叫欧拉筛,用来筛出\([2,n]\)中所有的质数。该算法比埃氏筛的效率更高,为线性\(O(N)\)。该算法也是从小到大枚举每个数,若该数没筛掉,则为质数。但是,筛数的规则不同:此时枚举的数是\(i\),无论是否是质数,枚举已知的质数\(p_j\),合数\(i*p_j\)未越界,即不大
  • 2024-05-11素数
    定义  素数又称作质数,是大于1且只能被1和本身整除的整数  合数是大于1且不是素数的数。算法第一种(判断)  通过定义及数学上的原理,判断出素数,为什么到sqrt(x),因为如果x是合数,它拆分的两个因数一个>=sqrt(x),一个<=sqrt(x),所以较小的因数的最大可能值就是sqr
  • 2024-05-02数论
    数论常见筛法对于任意正整数\(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]\)内所
  • 2024-04-22CF1957E 做题小计 : 威尔逊定理
    被数论虐爆了(悲)威尔逊定理\(\forallp\inprime,(p-1)!\equiv-1(\bmodp)\)为什么啊?对于\(2\)很显然。对于\(p\),我们知道\(inv(p-1)=p-1=-1\),然后\(inv(1)=1\)然后因为\(p\inprime\),所以对于任意\(a\in[2,p-2]\),都有\(inv(a)\)与它唯一对应。因为\(
  • 2024-04-11洛谷题单指南-数学基础问题-P1835 素数密度
    原题链接:https://www.luogu.com.cn/problem/P1835题意解读:要计算L-R范围内素数的个数。解题思路:直接对L~R的每个数判断素数肯定不可取,因为L、R的范围较大。既然要计算素数的个数,那么可以把其中的合数标记出来即可。如何标记合数?可以借助于筛素数的算法思想,枚举每一个素数,然
  • 2024-04-10洛谷题单指南-数学基础问题-P3383 【模板】线性筛素数
    原题链接:https://www.luogu.com.cn/problem/P3383题意解读:素数筛模版题。解题思路:素数筛介绍所谓素数(质数),是指除了1和它本身以外不再有其他因数的自然数,一般用试除法判断素数(时间复杂度:O(sqrt(n))):boolisprime(intx){if(x<=1)returnfalse;for(inti=2;i*
  • 2024-04-09第十一届蓝桥杯C/C++组C组决赛之思维风暴 快速解题
    十五届蓝桥杯即将开赛,十一届的蓝桥杯国赛的一些巧妙解法。美丽的2 题目描述本题为填空题,只需要算出结果后,在代码中使用输出语包将所填结果输出即可。小蓝特别喜欢2,今年是公元2020年,他特别高兴。他很好奇,在公元1年到公元2020年(包含)中,有多少个年份的数位中包含数字2?
  • 2024-04-04基础数学知识
    果然还是又一出写一出的比较适合我,按计划写博客没有一点点动力素数筛虽然筛法很多,但我觉得也没必要把那么多些都写这儿,毕竟到时候用也只会用最好的那种所以这里就只写线性筛法:欧拉筛欧拉筛和埃氏筛有点相似,都是用比较小的素数来标记合数,但不同的是埃氏筛中一个合数可能被多个
  • 2024-02-232/23质数
    质数:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数小于等于N大概有lgN个质数质数的判定试除法 判断一个数N:O(√N)扫描2-√N之间所有整数,一次检查它们能否整除N质数筛:求出小于等于n的所有质数,特判v[1]=1i从小到大,如果i没有被前面的数(比它小的数)标记为合
  • 2024-02-01洛谷题单指南-暴力枚举-P1217 [USACO1.5] 回文质数 Prime Palindromes
    原题链接:https://www.luogu.com.cn/problem/P1217题意解读:本题要找[a,b]范围内的所有回文质数,千万不要被题目提示所干扰,如果按照提示先产生各个长度的回文数,再依次判断是否是素数,程序写起来比较繁琐,需要根据a、b的长度,写8个判断是否产生1~8位回文数,最后做素数判断。换一个思路
  • 2024-01-172024/1/17 算法笔记
    1.欧拉质数筛功能是给一个整数n查找小于等于n的所有质数。最后使用的是prime【i】//功能:查找n内第x个质数。boolisprime[100000010];//isprime[i]=1表示:i是素数intprime[6000010],cnt=0;//prime存质数voidgetprime(intn){//筛到n也就是n以内的质数memset(is
  • 2023-12-24分解质因数
    分解质因式数学定理:根据算术基本定理,不考虑排列顺序的情况下,每个正整数都能够以唯一的方式表示成它的质因数的乘积。即:任何一个数都可以写成$$N=P_{p1}^{a1}+P_{p2}^{a2}+\ldots+p_{pk}^{ak}$$其中P为质数故我们引伸出分解质因数的算法:原理:我们从第一个质因数开始
  • 2023-12-03质数与合数
    质数与合数判断质数显然,每个合数都会有相对较小的质因子。若\(a\)为合数,则\(a=p\cdotq(p,q>1)\)。易证\(p、q\)中一定有一个不超过\(\sqrta\)(若两个都超过\(\sqrta\),则\(p\cdotq>a\))。更严格地,若\(a\)为合数,则一定存在质数\(p|a\),且\(p\leq\sqrta\)。
  • 2023-11-28初等数论中的基础概念
    整除设有整数a,b且a 不等于0。如果存在整数q,使得b=aq,那么就说b 可被a 整除,记作a∣b,b 不被a 整除记作a∤b。比如3∣9的意思是3能整除9 ,而3∤10是3不能整除10。
  • 2023-11-22CF1766D Lucky Chains
    CF1766DLuckyChains有某位特别爱RE的同学问的老师,由此引发了一场血案主打的就是一坚持不懈(悲题意给出两个正整数$(x,y)$,满足$(x,y),(x+1,y+1),(x+2,y+2),\dots,(x+k,y+k)$都是互质的,直到$(x+k+1,y+k+1)$起不互质问$k$的值,或指出这个互质的序列长度为$0$或是无限
  • 2023-10-29浅谈筛法——普通筛
    前置知识-因数和倍数(六年级及以上自行跳过):\(n\divm=k\),我们就说\(n\)是\(m\)和\(k\)的倍数,\(m\)和\(k\)是\(n\)的倍数。简单来说就是这样的:\(\text{被除数}\div\text{除数,余数为0}\),那我们就说除数是被除数的因数,被除数是除数的倍数。前置知识-素数和合数(六年级及以上自
  • 2023-10-09素数的判定:筛法
    素数很有用,特别是在密码学领域中,比如RSA中很重要的一步就是寻找两个比较大的素数,通常的做法是先随机生成一个大整数,然后使用一些素性判定的方法,比如费马素性测试。在算法竞赛的数论题目中,素数也很常见,通常的做法是先找出一定范围内的所有素数,用到时再查表,筛法就可以做到。1.埃氏
  • 2023-09-22素数重学笔记
    之前都没有怎么理解,现在来复习一下。试除法从\(2\)枚举到\(\lfloor\sqrtn\rfloor\)判断能否整除。朴素筛法从小到大枚举每个数,将范围内它的倍数全部标记为合数。显然就是调和级数,时间复杂度\(O(n\logn)\)。埃氏筛观察到一个合数必定可以通过某个质数乘上一个数得到
  • 2023-08-29素性测试--Miller-Rabin算法
    引子今天(23/8/16),老师问了一个有趣的问题:出道题给大家,111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111131111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111是不是素数
  • 2023-08-07txt
    素数又称质数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。长期以来,素数被认为在纯数学以外的地方只有极少数的应用。到了1970年代,发明公共密钥加密这个概念之后,情况改变了,素数变成了RSA加密算法等一阶算法之基础
  • 2023-07-142023 长郡暑期集训 DAY-2 数学专题笔记
    2023长郡暑期集训DAY-2数学质数和约数质数是指除了\(1\)和它本身之外没有其他因数的自然数。质数判定判定单个自然数是否为质数,可以使用试除法,在这里不多描述。boolis_prime(intn){if(n<2)return0;//如果n小于2,不是质数,返回0for(inti=2;i<=n
  • 2023-07-02LeetCode/和等于目标值的质数对
    给你一个整数n,如果两个整数x和y满足下述条件,则认为二者形成一个质数对:1<=x<=y<=nx+y==nx和y都是质数请你以二维有序列表的形式返回符合题目要求的所有[xi,yi],列表需要按xi的非递减顺序排序。如果不存在符合要求的质数对,则返回一个空数组。1.埃氏筛预