Sum digits of an integer: Difference between revisions
Add Miranda
Not a robot (talk | contribs) (Add PL/M) |
Not a robot (talk | contribs) (Add Miranda) |
||
Line 2,641:
<pre>10
29</pre>
=={{header|Miranda}}==
<syntaxhighlight lang="miranda">main :: [sys_message]
main = [Stdout (lay (map fmt tests))]
where tests = [(1,10), (1234,10), (0xfe,16), (0xf0e,16)]
fmt (d,b) = (shownum d) ++ "_" ++ (shownum b) ++ " -> " ++
(shownum (digitsum b d))
digitsum :: num->num->num
digitsum base 0 = 0
digitsum base n = n mod base + digitsum base (n div base)</syntaxhighlight>
{{out}}
<pre>1_10 -> 1
1234_10 -> 10
254_16 -> 29
3854_16 -> 29</pre>
=={{header|МК-61/52}}==
|