Update all new Tasks
This commit is contained in:
parent
00a190b0a6
commit
91df62d461
5697 changed files with 93386 additions and 804 deletions
|
|
@ -0,0 +1,25 @@
|
|||
try:
|
||||
from functools import reduce
|
||||
except:
|
||||
pass
|
||||
|
||||
def mdroot(n):
|
||||
'Multiplicative digital root'
|
||||
mdr = [n]
|
||||
while mdr[-1] > 9:
|
||||
mdr.append(reduce(int.__mul__, (int(dig) for dig in str(mdr[-1])), 1))
|
||||
return len(mdr) - 1, mdr[-1]
|
||||
|
||||
if __name__ == '__main__':
|
||||
print('Number: (MP, MDR)\n====== =========')
|
||||
for n in (123321, 7739, 893, 899998):
|
||||
print('%6i: %r' % (n, mdroot(n)))
|
||||
|
||||
table, n = {i: [] for i in range(10)}, 0
|
||||
while min(len(row) for row in table.values()) < 5:
|
||||
mpersistence, mdr = mdroot(n)
|
||||
table[mdr].append(n)
|
||||
n += 1
|
||||
print('\nMP: [n0..n4]\n== ========')
|
||||
for mp, val in sorted(table.items()):
|
||||
print('%2i: %r' % (mp, val[:5]))
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
def mdroot(n):
|
||||
count, mdr = 0, n
|
||||
while mdr > 9:
|
||||
m, digitsMul = mdr, 1
|
||||
while m:
|
||||
m, md = divmod(m, 10)
|
||||
digitsMul *= md
|
||||
mdr = digitsMul
|
||||
count += 1
|
||||
return count, mdr
|
||||
Loading…
Add table
Add a link
Reference in a new issue