摘要:
欧几里得算法(gcd) 就是辗转相除法 作用:求gcd(a,b) 公式: \(gcd(a,b) = gcd(b,a\%b)\) 写法1: int gcd(int a , int b ){ return !b ? a : gcd(b, a % b); } 写法2 :位运算(超快) (a,b不能为0) 阅读全文
摘要:
欧拉函数 大佬已经讲的很清楚了,证明非常清晰 互质: 两个数的最大公约数为 $1$ , 称这两个数互质 求一个数的欧拉函数: 利用公式 int phi(int n) { int ans = n; for (int i = 2; i <= n / i; i++) { if (n % i == 0) { 阅读全文
摘要:
基础知识 最大公约数: 最大公约数就是两个数的最大公共因子 x = abc , y = bcdef (a ~ f 均为质因子) 则 gcd ( x , y ) = bc 计算方法: 1.质因数分解法,如上举例所示 2.欧几里得算法(辗转相除法) 算法原理:gcd(a,b) = gcd( b , a 阅读全文