23 lines
441 B
Matlab
23 lines
441 B
Matlab
function findHappyNumbers
|
|
nHappy = 0;
|
|
k = 1;
|
|
while nHappy < 8
|
|
if isHappyNumber(k, [])
|
|
fprintf('%d ', k)
|
|
nHappy = nHappy+1;
|
|
end
|
|
k = k+1;
|
|
end
|
|
fprintf('\n')
|
|
end
|
|
|
|
function hap = isHappyNumber(k, prev)
|
|
if k == 1
|
|
hap = true;
|
|
elseif ismember(k, prev)
|
|
hap = false;
|
|
else
|
|
hap = isHappyNumber(sum((sprintf('%d', k)-'0').^2), [prev k]);
|
|
end
|
|
end
|