約数包除
code: a.py
C =
1
# C
i
:= 素因数がi個の数のリスト。ソートはされていない
for p in P: # Pは素数のリスト
if C
-1
:
C.append([])
for k in range(len(C) - 1)
::-1
:
for q in C
k
:
if p * q >= lim: continue # 上限を超える数は含めない
C
k+1
.append(p * q)
#包除原理