EularProject 47:具有相同个数因子的连续数字

来源:互联网 发布:java中框架的作用 编辑:程序博客网 时间:2024/05/19 11:44

Distinct primes factors
Problem 47
The first two consecutive numbers to have two distinct prime factors are:

14 = 2 × 7
15 = 3 × 5

The first three consecutive numbers to have three distinct prime factors are:

644 = 2² × 7 × 23
645 = 3 × 5 × 43
646 = 2 × 17 × 19.

Find the first four consecutive integers to have four distinct prime factors. What is the first of these numbers?

Answer:
134043

__author__ = 'zhengyi'primeNum=4consecutiveNum=4from math import sqrtdef IsPrime(x):    k=int(sqrt(x))+1    for i in range(2,k):        if x%i==0:            return False    return Truedef primeCount(x):    result=0    for i in range(0,len(primeSet)):        if x%primeSet[i]==0:            result+=1            while x%primeSet[i]==0:                x//=primeSet[i]            if x==1:                return resultprimeSet=[]p=1consecutive=0while True:    p+=1    if IsPrime(p):        primeSet.append(p)        consecutive=0    else:        if primeCount(p)==primeNum:            consecutive+=1            if consecutive==consecutiveNum:                print(p-consecutiveNum+1)                break        else:            consecutive=0
0 0
原创粉丝点击