示例#1
0
文件: e26.py 项目: fengshaun/personal
def solve():
    max_p = 0
    num = 0
    for n in prime.primes_max(1000):
        for p in range(1, n + 1):
            if (10 ** p - 1) % n == 0:
                if p > max_p:
                    max_p = p
                    num = n
                break

    return num
示例#2
0
文件: e27.py 项目: fengshaun/personal
def solve():
    a = 0
    b = 0
    n = 0

    for x in xrange(-1000, 1001):
        for i in prime.primes_max(1000):
            for y in [i, -i]:
                num = primes_produced(x, y)
                if num > n:
                    n = num
                    a = x
                    b = y

    return a * b
示例#3
0
文件: e12.py 项目: fengshaun/personal
def solve():
    divisors = []
    largest = 0

    for num in next_triangle_num():
        n = num
        divisors = []
        
        for i in prime.primes_max(int(math.sqrt(num))):
            while not num % i:
                divisors.append(i)
                num /= i

        num_divisors = calculate_possible_factors(divisors)

        if num_divisors > 500:
            return n
示例#4
0
文件: e10.py 项目: fengshaun/personal
def solve():
    sum = 0
    for i in primes_max(2000000):
        sum += i
    return sum
示例#5
0
    l.append(l_of_l)

    for i in l:
        possible_factors *= len(i) + 1

    return possible_factors


if __name__ == "__main__":
    start_time = time.time()
    divisors = []

    for num in next_triangle_num():
        print num,
        divisors = []

        for i in prime.primes_max(int(math.sqrt(num))):
            while not num % i:
                divisors.append(i)
                num /= i

        num_divisors = calculate_possible_factors(divisors)
        print divisors, num_divisors

        if num_divisors > 500:
            print "the number is the last number printed"
            break

    elapsed = time.time() - start_time
    print elapsed