30 lines
403 B
Text
30 lines
403 B
Text
total = 0
|
|
d = new dict
|
|
var sum
|
|
|
|
for n = 1 to 100 million - 1
|
|
{
|
|
sum = n
|
|
do
|
|
{
|
|
if sum < 1000 and d@sum != undef
|
|
{
|
|
sum = d@sum
|
|
break
|
|
}
|
|
|
|
c = sum
|
|
|
|
sum = 0
|
|
for digit = integerDigits[c]
|
|
sum = sum + digit^2
|
|
} while (sum != 89) and (sum != 1)
|
|
|
|
if (n < 1000)
|
|
d@n = sum
|
|
|
|
if (sum == 89)
|
|
total = total + 1
|
|
}
|
|
|
|
println[total]
|