Sum digits of an integer: Difference between revisions

Content added Content deleted
(Add PL/M)
(Add Miranda)
Line 2,641: Line 2,641:
<pre>10
<pre>10
29</pre>
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}}==
=={{header|МК-61/52}}==