#!/usr/bin/env setl
--
-- Project Euler problem 30 in SETL
--
-- Problem 30
--
-- """
-- Surprisingly there are only three numbers that can be written
-- as the sum of fourth powers of their digits:
--
-- 1634 = 1^(4) + 6^(4) + 3^(4) + 4^(4)
-- 8208 = 8^(4) + 2^(4) + 0^(4) + 8^(4)
-- 9474 = 9^(4) + 4^(4) + 7^(4) + 4^(4)
--
-- As 1 = 1^(4) is not a sum it is not included.
--
-- The sum of these numbers is 1634 + 8208 + 9474 = 19316.
--
-- Find the sum of all the numbers that can be written as the sum of
-- fifth powers of their digits.
-- """
--
-- This SETL program was created by Hakan Kjellerstrand (hakank@bonetmail.com)
-- Also see my SETL page: http://www.hakank.org/setl/
--
problem30();
proc problem30;
nprint("Problem 30: ");
t := 0;
m := 5;
for n in [10..6*9**5] loop
if n = +/[i**m : i in [val(j) : j in str(n) ]] then
t +:= n;
end if;
end loop;
print(t);
end proc;