随笔分类 - 数学
摘要:试除法判断质数 bool is_prime(int x) { if (x < 2) return false; for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) return false; return true; } 试除法分解质因数 void
阅读全文
摘要:组合数公式:(图来自百度百科) 1.迭代法(预处理)求组合数 适用于$C_ab$中$a$ 和$b$不是很大的情况,**一般$1 \leq a,b \leq 104$** 所以可以直接预处理出来$C_a^b$,用的时候直接查表即可。 #include <iostream> using namespac
阅读全文
摘要:取模运算的性质 But: 乘法逆元 在算法竞赛中,经常会遇到求解数据很大,则输出模 \(10^9+7\) 的解这类要求。加法、减法、乘法等操作,基于同余理论直接取模即可。但遇到除法时,某步中间结果不一定能完成整除,就无法求解了。所以引入了乘法逆元。 从网上找了几种不同的定义: 定义1: 定义2: 核
阅读全文
摘要:线性筛法求欧拉函数 int primes[N],cnt; //线性筛质数的primes数组和cnt int phi[N]; //phi表示欧拉函数 bool st[N]; void get_eulers(int n) { /*1∼N 中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。*/ ph
阅读全文
摘要:约数,外文名:Divisor,别名:因数 简介: 约数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。一个整数的约数是有限的。同时,它可以在特定情况下成为公约数。 1.试除法求约数 $“d\ | \ n”$代表
阅读全文
摘要:先看这样一个问题:任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?) 计算这个值的方法就叫做欧拉函数,以$φ(n)$表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以 \(φ(n)\)= 4。 百度百科定义:在数论
阅读全文
摘要:质数和合数是针对所有大于 1 的 “自然数” 来定义的(所有小于等于1的数都不是质数)。 所有小于等于 1 的整数既不是质数也不是合数. 质数的判定——试除法 $“d\ | \ n”$代表的含义是 \(d\) 能整除 \(n\) ,(这里的 \(“|”\) 代表整除) 一个合数的约数总是成对出现的,
阅读全文