LeetCode刷题总结
灵神:分享|如何科学刷题? - 讨论 - 力扣(LeetCode)
一、入门算法
2413.最小偶倍数
https://leetcode.cn/problems/smallest-even-multiple/solutions/3812333/zui-xiao-ou-bei-shu-by-xing-kong-piao-li-4p42
最大公约数(GCD):两个或多个整数共有约数中最大的一个。。例如:GCD(8, 12) = 4。
欧几里得算法(辗转相除法):
int gcd(int a, int b) {while (b) {int r = a % b;a = b;b = r;}return a;
}
最小公倍数:几个数共同的倍数叫做这几个数的公倍数,其中除0以外最小的一个公倍数,叫做这几个数的最小公倍数。
例子:12是能同时被 4 和 6 整除的最小正整数,12 = 24/2
公式:
1.两个数的乘积等于这两个数的最大公约数与最小公倍数的积。
2.任意正偶数与 2 的最大公约数为 2,任意正奇数与 2 的最大公约数为 1
此题规律:
求 2 与 n 的最小公倍数:
为什么 n & 1可判断是奇数?
二进制: 0b 8 4 2 1,bit0 为 2 的0次方,后续皆为 2的n次方,bit0为奇数,则都为奇数