Sum digits of an integer: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add PL/M) |
Not a robot (talk | contribs) (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}}== |