Jump to content

Munchausen numbers: Difference between revisions

Undo revision 307492 by Hout (talk)
(Undo revision 307493 by Hout (talk))
(Undo revision 307492 by Hout (talk))
Line 252:
=={{header|AppleScript}}==
 
<lang AppleScript>-- MUNCHAUSEN NUMBER ? ----------------------------------- 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 ------------------------------------------- TEST ---------------------------
on run
Line 281:
 
 
-- GENERIC FUNCTIONS ------------------------------------ GENERIC FUNCTIONS ---------------------
 
-- enumFromTo :: Int -> Int -> [Int]
on enumFromTo(m, n)
if m > n then
set lstd to {}-1
repeat with i from m to n
set end of lst to i
end repeat
lst
else
{}set d to 1
end if
set lst to {}
repeat with i from m to n by d
set end of lst to i
end repeat
return lst
end enumFromTo
 
-- filter :: (a -> Bool) -> [a] -> [a]
on filter(pf, xs)
tell mReturn(pf)
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>
9,659

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.