欧拉函数打表以及几点定理

可以同时筛素数

isprime = [False for i in range(1010)]
E = [i for i in range(1010)]
def euler():
    for i in range(2,1000):
        if E[i] == i:
            for j in range(i,1000,i):
                isprime[j] = False
                E[j] //= i
                E[j] *= i-1
            isprime[i] = True
euler()
for (index,value) in enumerate(E):
    print('E[{}]={} isprime:{}'.format(index,value,isprime[index]))

①欧拉函数代表<=n的数字中有多少个与n互质的数

②小于n而且与n互质的数的总和(包括1)为φ(n)*n/2

③nm互质,φ(n*m)=φ(n)*φ(m)(积性函数性质)

④当n为奇数时,φ(2n)=φ(n)

⑤若i%p==0,有φ(i*p) = p * φ(i);

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页