Jump to content

Digital root/Multiplicative digital root: Difference between revisions

no edit summary
(Moved 3 redirect entries here (to correct the task counts))
No edit summary
Line 1,957:
9: 9 19 33 91 119
</pre>
=={{header|M2000 Interpreter}}==
{{trans|FreeBASIC}}
<lang M2000 Interpreter>multDigitalRoot=lambda (n as decimal) ->{
if n<0 then error "Negative numbers not allowed"
def decimal mdr, mp, nn
nn=n
do
mdr=IF(nn>0->1@, 0@)
while nn>0
mdr*=nn mod 10@
nn|div 10@
end while
mp++
nn=mdr
when mdr>=10
=(mdr, mp)
}
Document doc$
ia=(123321, 7739, 893, 899998)
in_ia=each(ia)
while in_ia
(mdr, mp)=multDigitalRoot(array(in_ia))
doc$=format$("{0::-9} mdr = {1} MP = {2}", array(in_ia), mdr, mp)+{
}
end while
let n=0@, count=0&
dim ia2(0 to 9, 0 to 5)
do
mdr=multDigitalRoot(n)#val(0)
if ia2(mdr, 0)<5 then
ia2(mdr, 0)++
ia2(mdr, ia2(mdr, 0))=n
count++
end if
n++
when count<50
 
doc$={MDR n0 n1 n2 n3 n4
}
doc$={=== ============================
}
for i=0 to 9
doc$=format$("{0}: ", i)
for j=1 to 5
doc$=format$("{0::-6}", ia2(i, j))
next
doc$={
}
next
Clipboard doc$
// Print like in a file (-2 is for console):
Print #-2, doc$
 
</lang>
{{out}}
<pre> 123321 mdr = 8 MP = 3
7739 mdr = 8 MP = 3
893 mdr = 2 MP = 3
899998 mdr = 0 MP = 2
MDR n0 n1 n2 n3 n4
=== ============================
0: 0 10 20 25 30
1: 1 11 111 1111 11111
2: 2 12 21 26 34
3: 3 13 31 113 131
4: 4 14 22 27 39
5: 5 15 35 51 53
6: 6 16 23 28 32
7: 7 17 71 117 171
8: 8 18 24 29 36
9: 9 19 33 91 119
</pre>
=={{header|Mathematica}} / {{header|Wolfram Language}}==
<lang mathematica>
404

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.