Munchausen numbers: Difference between revisions
Content added Content deleted
(add Pure language solution) |
|||
Line 910: | Line 910: | ||
1 |
1 |
||
3435</pre> |
3435</pre> |
||
=={{header|Pure}}== |
|||
<lang Pure>// split numer into digits |
|||
digits n::number = loop n [] with |
|||
loop n l = loop (n div 10) ((n mod 10):l) if n > 0; |
|||
= l otherwise; end; |
|||
munchausen n::int = (filter isMunchausen list) when |
|||
list = 1..n; end with |
|||
isMunchausen n = n == foldl (+) 0 |
|||
(map (\d -> d^d) |
|||
(digits n)); end; |
|||
munchausen 5000;</lang> |
|||
{{out}} |
|||
<pre>[1,3435]</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |