Munchausen numbers: Difference between revisions
Undo revision 307492 by Hout (talk)
Line 252:
=={{header|AppleScript}}==
<lang AppleScript>-- MUNCHAUSEN NUMBER ? -----------------------------------
-- isMunchausen :: Int -> Bool
Line 267:
(class of n is integer) and ¬
foldl(digitPowerSum, 0, characters of (n as string)) = n
end isMunchausen
-- TEST -------------------------------------------
on run
Line 281:
-- GENERIC FUNCTIONS ------------------------------------
-- enumFromTo :: Int -> Int -> [Int]
on enumFromTo(m, n)
if m
set
repeat with i from m to n▼
set end of lst to i▼
end repeat▼
lst▼
else
end if
set lst to {}
end repeat
end enumFromTo
-- filter :: (a -> Bool) -> [a] -> [a]
on filter(
tell mReturn(
set lst to {}
set lng to length of xs
Line 332 ⟶ 333:
end if
end mReturn</lang>
{{Out}}
<lang AppleScript>{1, 3435}</lang>
----
More straightforwardly:
<lang applescript>set MunchhausenNumbers to {}
repeat with i from 1 to 5000
if (i > 0) then
set n to i
set s to 0
repeat until (n is 0)
tell n mod 10 to set s to s + it ^ it
set n to n div 10
▲ end repeat
if (s = i) then set end of MunchhausenNumbers to i
end if
end repeat
return MunchhausenNumbers</lang>
{{Out}}
<lang applescript>{1, 3435}</lang>
|