平方剩余核
数论小道具一件:把每个数的平方因子全部剥掉,剩下的「核」才是判断乘积是否为完全平方数的本体。
定义
平方剩余核 core(n)(square-free core):n 除去所有完全平方因子后剩下的部分。
模板
线性筛的写法,一次预处理出值域内所有数的 core:
MX = 100_001
core = [0] * MX
for i in range(1, MX):
if core[i] == 0:
for j in range(1, isqrt(MX // i) + 1):
core[i * j * j] = i
外层扫到的...