码迷,mamicode.com
首页 > 其他好文 > 详细

新笔记

时间:2016-02-09 01:20:15      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

[2016-01-28][数学][][]


判断一个数是否是素数,除了1和它本身之外都没因子

朴素方法:从2开始检查到根号n,


埃氏筛法,从一个2开始到n,,如果一个数是素数,那么从a*a开始去除1-n中a 的所有倍数


线性筛

每个合数都有最小的素因子,让每个合数只被最小的素因子筛掉


从2开始,如果一个数a是素数,将当前元素表中的元素p的a倍标记为合数

遇到第一个被a整除的数后停止

,在这里,ap最小的素因子是p 



 辗转相除法:求两个数的最大公因数


最大公约数符号表示 

int gcd(int a,int b){

    return b?gcd(b,a%b):a;

}

(a1,a2,a3,...,an)

最大公约数,区间可加,可以出现在线段树的题目


最大公因数

(a,b)*[a,b] = a*b;



标准素因数分解

反复取最大公约数



正约数的个数

分解质因素后,每个素数次数+1 后连乘

思路,乘法原理,每个素数 对应的取法为 0 ,1,2,...次数


欧拉函数,求1-n,中与n互素的数个个数

乘法原理


费马小定理

如果a为整数,p为质数,那么 a^p== a (mod p)


a^(p-1) = 1 (mod p)


欧拉定理


扩展欧几里得


逆元


组合数(适合1000以内)

n很大而k或者n-k很小的时候,直接计算

当n不是很大而查询很多时,预处理出n个数的阶乘,以及这些阶乘的逆元,

求n的逆元,乘n-1,n-2得到 n-1,n-2的逆元




素数定理


容斥原理










































新笔记

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/5185324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!