happy1[n_] := Total[Map[#^2 &, IntegerDigits[n]]]; happyList[n_] := Most@NestWhileList[happy1, n, Unequal, All]; happyQ[n_] := Last[happyList[n]] == 1; Select[Range[500], happyQ] happyPrimeQ[n_] := PrimeQ[n] && happyQ[n]; Select[Range[500], happyQ]