Files
python/TangDou/LanQiaoBei/LanQiao14ShengSai/3.md
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

961 B

Q:factor[t] = factor[i] + 1; 这句话什么意思?

factor[i] 表示 i 的质因子个数,而 factor[t] 则表示 t 的质因子个数。

当 $i$、j 互质时,$i \times j$(即 $t$)的质因子应该由 i 和 j 的质因子组成,由于 i 和 j 互质,所以它们的质因子不会有重复。因此,t 的质因子个数应该等于 i 的质因子个数加上 j 的质因子个数。

例如,假设 i=24 和 $j=7$,它们的质因子分别为 2\times2\times2\times3 和 $7$,那么 i \times j = 168 的质因子应为 $2\times2\times2\times3\times7$,其质因子个数为 $5$,即 24 的质因子个数加上 7 的质因子个数。

因此,factor[t] = factor[i] + 1; 的含义即为将动态规划的思想应用到欧拉筛算法中,通过已知 factor[i] 的值,算出 factor[t] 的值(即每个数 k 的质因子个数),避免了每次重新计算的重复操作。