
算法——数学知识(质数,约数,欧拉函数,快速幂)
对于每一对约数,我们只需检验其中的一个。我们每次检查每对中较小的一个。在埃氏筛法中,合数可能被多次筛去。我们想要一个合数被筛掉一次,那么每次筛就要用最小质因数筛。由算数基本定理可知,大于1的正整数都可以被写成若干个质数相乘。有多少个素数,显然我们不能满意对所有小于等于。对于每一个合数,我们都用质数把它筛掉。时,由于我们是从小到大枚举的质数,所以。时,由于我们是从小到大枚举的质数,所以。另外,对于 C++17,我们可以使用。的质因数最多只有一个。我们每次使用最小质因数筛掉合数。由于因数是成对分布的,所以。




















