首页 > 其他分享 >数论

数论

时间:2023-07-07 12:12:03浏览次数:30  
标签:数论 定理 因数 测试 mod equiv

算法

记号

\(a \mod p\):\(a\) 除 \(p\) 的余数,等于 \(a - p \times \lfloor \frac{a}{p} \rfloor\)。
\(a \mid b\):\(a\) 整除 \(b\) 即\(a\) 是 \(b\) 的因数。

素数判定

试除法

对于任意整数 \(n\),它的因数 \(d,\frac{n}{d}\) 总是成对出现,所以可以枚举 \([2,\sqrt{n}]\) 内的数,逐一判断是不是 \(n\) 的因数即可。

费马素性测试

属于概率性测试,根据费马小定理实现。

对于任意整数 \(n\),从 \([2,n-1]\) 中取数 \(a\) 作为基,如果满足 \(a^{n-1}\equiv 1(\mod n)\),则通过这一轮测试,如果所有测试均通过,那么认为 \(n\) 是一个素数。

Miller-Rabin 素性测试

定理

威尔逊定理及其扩展

\((p-1)!\equiv -1\ (mod\ p), p \in prime\)

欧拉定理及其扩展

Lucas 定理及其扩展

数论函数

标签:数论,定理,因数,测试,mod,equiv
From: https://www.cnblogs.com/Lkkaknoi/p/17534609.html

相关文章

  • 数论基础
    数论基础导读:快速幂取模、欧式筛法、裴蜀定理(贝祖定理)、威尔逊定理、费马定理、(扩展)中国剩余定理。快速幂取模求\(a^b\%p\)我们有时间复杂度\(O(b)\)的办法。但数据规模放大时,我们的显示界面难免会出现一个老熟人TLE,我们需要更快的方法。根据初中数学,\(a^b\)可以化为\((a^2......
  • 快速数论变换NTT学习笔记
    前言在这篇文章中我介绍了什么是\(\text{FFT}\),但是在文中我们也说了一嘴这玩意是有精度误差的,三角函数和复数导致我们不得不进行取整操作。只要毒瘤出题人原因,那就可以\(\text{HackFFT}\)。Tips:根据《NOI大纲》的内容,卡精度和卡常数通常是不允许的。所以\(\text{FFT}......
  • [数论]数论函数/莫比乌斯反演
    数论函数/莫比乌斯反演1.1积性函数数论函数:可以认为是定义在整数上的函数。1)积性函数定义(a,b)=1,f(a,b)=f(a)f(b)2)积性函数性质对于积性函数\(f\),是被所有\(p^e\)处的值决定的a=1,f(b)=f(1)f(b)​ \(f(60)=f(4)\timesf(15)=f(4)\timesf(3)\timesf(5......
  • 初等数论
    初等数论\(\mathcal{P}art\)1.基础概念整除对两个正整数\(a\),\(b\)(\(b\lea\)),如果存在一个整数\(k\)使得\(a=kb\),则称\(b\)整除\(a\),记作\(b|a\)带余除法对任何整数\(a\)和正整数\(b\),一定存在一个整数\(r\in[0,b)\)和一个整数\(k\),使得\(a=kb+r\),称上式......
  • Dreaming of Freedom(数论,贪心)
    用nsqrt(n)的时间复杂度就能过//DreamingofFreedom:https://codeforces.com/problemset/problem/1826/C#include<bits/stdc++.h>//#defineintlonglongusingnamespacestd;constintN=1e5+10,mod=1e9+7;strings;intn,t,a[N],f[N],res,num,ans,m;boolvis[N];i......
  • 数论
    类欧几里德\(\text{令}\spacef(a,b,c,n)=\sum_{i=1}^n\lfloor\frac{ai+b}{c}\rfloor\)\(f(a,b,c,n)=\frac{n(n+1)}{2}\lfloor\frac{a}{c}\rfloor+(n+1)\lfloor\frac{b}{c}\rfloor+f(a\%c,b\%c,c,n)\)第二类斯特林数求自然幂和$\sum_{i=1}^ni^k=\sum_{i=1}^n\sum_{......
  • Add Modulo 10(数论,思维,数学,规律)
    思路:找规律情况一:尾数为5或0为5时进行一次操作变成0的情况。而尾数是 0 时操作无意义,所有数必须相等。情况二:尾数为 1,3,7,9可进行一次操作变成情况三。情况三:尾数为 2,4,6,8我们通过找规律发现:2⇒4⇒8⇒16⇒224⇒8⇒16⇒22⇒246⇒12⇒14⇒18⇒268⇒16⇒22⇒24⇒28......
  • 【蓝桥杯_真题演练】第九届C/C++省赛B组_C-乘积尾零(C++_数论)
    Problem如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?56504542355447394641143871907390432927587949611356595245743230514434670435949937117368663397475975573070228714539899148657223135117040145510512072928809......
  • 【蓝桥杯_真题演练】第十届C/C++省赛B组_H-等差数列(C++_gcd_数论)
    ProblemProcess在输入的时候先去重,然后进行排序,至于他们的公差p则需要计算每两个相邻数值之间差值的最大公因数,最终的结果应该是Code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongintn,a[100010],cnt;set<int>s;intgcd(inta,intb){ returnb==......
  • P1062 数列(C++_数论)
    题目描述给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:(该序列实际上就是:)请你求出这个序列的第N项的值(用10进制数表示)。例如,对于k=3,N=100,正确答案应该是981。输入格式2个正整数,用一个空格隔开:输出格式1个正整......