43 lines
653 B
ActionScript
43 lines
653 B
ActionScript
function sumOfSquares(n:uint)
|
|
{
|
|
var sum:uint = 0;
|
|
while(n != 0)
|
|
{
|
|
sum += (n%10)*(n%10);
|
|
n /= 10;
|
|
}
|
|
return sum;
|
|
}
|
|
function isInArray(n:uint, array:Array)
|
|
{
|
|
for(var k = 0; k < array.length; k++)
|
|
if(n == array[k]) return true;
|
|
return false;
|
|
}
|
|
function isHappy(n)
|
|
{
|
|
var sequence:Array = new Array();
|
|
while(n != 1)
|
|
{
|
|
sequence.push(n);
|
|
n = sumOfSquares(n);
|
|
if(isInArray(n,sequence))return false;
|
|
}
|
|
return true;
|
|
}
|
|
function printHappy()
|
|
{
|
|
var numbersLeft:uint = 8;
|
|
var numberToTest:uint = 1;
|
|
while(numbersLeft != 0)
|
|
{
|
|
if(isHappy(numberToTest))
|
|
{
|
|
trace(numberToTest);
|
|
numbersLeft--;
|
|
}
|
|
numberToTest++;
|
|
}
|
|
}
|
|
printHappy();
|