Jump to content

Divisors of a natural number: Difference between revisions

Line 184:
from itertools import product
from functools import reduce
 
 
def fac(n):
'''\
Line 208:
else: res=[n]
return res
 
def fact(n):
'''\
Line 220:
res = fac(n)
return [(c, res.count(c)) for c in set(res)]
 
def divisors(n):
factors = fact(n) # [(primefactor, multiplicity), ...]
Line 231:
1)
for powergroup in powers)
if __name__ == '__main__':
for n in list(range(1,17)) + [31]:
tocalc = 2**(n - 1)
print("divisors(%s) = %s" % (tocalc, sorted(divisors(tocalc))))</lang>
{{out}}
Line 253:
divisors(32767) = [1, 7, 31, 151, 217, 1057, 4681, 32767]
divisors(65535) = [1, 3, 5, 15, 17, 51, 85, 255, 257, 771, 1285, 3855, 4369, 13107, 21845, 65535]
divisors(2147483647) = [11L, 21474836472147483647L]</pre>
</pre>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.