Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
19
Task/Almost-prime/Python/almost-prime-1.py
Normal file
19
Task/Almost-prime/Python/almost-prime-1.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
from prime_decomposition import decompose
|
||||
from itertools import islice, count
|
||||
try:
|
||||
from functools import reduce
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
def almostprime(n, k=2):
|
||||
d = decompose(n)
|
||||
try:
|
||||
terms = [next(d) for i in range(k)]
|
||||
return reduce(int.__mul__, terms, 1) == n
|
||||
except:
|
||||
return False
|
||||
|
||||
if __name__ == '__main__':
|
||||
for k in range(1,6):
|
||||
print('%i: %r' % (k, list(islice((n for n in count() if almostprime(n, k)), 10))))
|
||||
38
Task/Almost-prime/Python/almost-prime-2.py
Normal file
38
Task/Almost-prime/Python/almost-prime-2.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# k-Almost-primes
|
||||
# Python 3.6.3
|
||||
# no imports
|
||||
# author: manuelcaeiro | https://github.com/manuelcaeiro
|
||||
|
||||
def prime_factors(m=2):
|
||||
|
||||
for i in range(2, m):
|
||||
r, q = divmod(m, i)
|
||||
if not q:
|
||||
return [i] + prime_factors(r)
|
||||
return [m]
|
||||
|
||||
def k_almost_primes(n, k=2):
|
||||
multiples = set()
|
||||
lists = list()
|
||||
for x in range(k+1):
|
||||
lists.append([])
|
||||
|
||||
for i in range(2, n+1):
|
||||
if i not in multiples:
|
||||
if len(lists[1]) < 10:
|
||||
lists[1].append(i)
|
||||
multiples.update(range(i*i, n+1, i))
|
||||
print("k=1: {}".format(lists[1]))
|
||||
|
||||
for j in range(2, k+1):
|
||||
for m in multiples:
|
||||
l = prime_factors(m)
|
||||
ll = len(l)
|
||||
if ll == j and len(lists[j]) < 10:
|
||||
lists[j].append(m)
|
||||
|
||||
print("k={}: {}".format(j, lists[j]))
|
||||
|
||||
k_almost_primes(200, 5)
|
||||
# try:
|
||||
#k_almost_primes(6000, 10)
|
||||
Loading…
Add table
Add a link
Reference in a new issue