Data update
This commit is contained in:
parent
5af6d93694
commit
796d366b97
455 changed files with 7413 additions and 1900 deletions
23
Task/Digital-root/Maxima/digital-root.maxima
Normal file
23
Task/Digital-root/Maxima/digital-root.maxima
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
/* Function that returns a list of digits given a nonnegative integer */
|
||||
decompose(num) := block([digits, remainder],
|
||||
digits: [],
|
||||
while num > 0 do
|
||||
(remainder: mod(num, 10),
|
||||
digits: cons(remainder, digits),
|
||||
num: floor(num/10)),
|
||||
digits
|
||||
)$
|
||||
|
||||
/* Function that given a positive integer returns the sum of their digits */
|
||||
auxdig(n):=block(decompose(n),apply("+",%%));
|
||||
|
||||
/* Function that given a positive integer returns a list of two: the additive persistence and the digital root */
|
||||
digrt(n):=block([additive_persistence:0,digital_root:n],
|
||||
while length(decompose(digital_root))>1 do (digital_root:auxdig(digital_root),additive_persistence:additive_persistence+1),
|
||||
[additive_persistence,digital_root]);
|
||||
|
||||
/* Examples */
|
||||
digrt(627615);
|
||||
digrt(39390);
|
||||
digrt(588225);
|
||||
digrt(393900588225);
|
||||
Loading…
Add table
Add a link
Reference in a new issue