23 lines
490 B
Python
23 lines
490 B
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
def primes(n):
|
||
|
sieve = [False]*n
|
||
|
for p in range(2, n):
|
||
|
if sieve[p]:
|
||
|
continue
|
||
|
for i in range(p**2, n, p):
|
||
|
sieve[i] = True
|
||
|
return [p for p, t in enumerate(sieve) if not t][2:]
|
||
|
|
||
|
def rec(n, nums, i, lim):
|
||
|
c = 1
|
||
|
for j, f in enumerate(nums[i:], start=i):
|
||
|
new = f*n
|
||
|
if new > lim:
|
||
|
break
|
||
|
c += rec(new, nums, j, lim)
|
||
|
return c
|
||
|
|
||
|
nums = primes(100)
|
||
|
print(rec(1, nums, 0, 10**9))
|