0047 不同质因数
* * * *
拉格朗日计划
* * * *
不同质因数

满足n、n+1都至少有两个不同质因数的最小的n是14: $$14=2\times 7, \quad 15=3\times 5$$ 满足n、n+1、n+2都至少有三个不同质因数的最小的n是644: $$644=2^2\times 7\times 23, \quad 645=3\times 5\times 43,\quad 646=2\times 17\times 19.$$ 满足n、n+1、n+2、n+3都至少有四个不同质因数的最小的n是几?

本题难度:



解答

尝试猜测一个合理的上界(比如一百万),再用筛法生成质因数数量表,找出其中满足要求的最小值即可,结果是$134043$。

target=1000000

d=[0]*target
  
n=2

while n < target:
    for i in range(n,target,n):
        d[i]+=1
    n+=1
    while n < target and d[n]>0:
        n+=1
    
print min(i for i in range(target-3) if all(d[j]>=4 for j in range(i,i+4)))