Números felizes e mais

Um número feliz é um número definido pelo seguinte processo: começando com qualquer número inteiro positivo, substitua o número pela soma dos quadrados de seus dígitos e repita o processo até que o número seja igual a 1 (onde permanecerá) ou entre em um ciclo interminável que não inclui 1. Os números para os quais esse processo termina em 1 são números felizes.

Um número primo é um número natural maior que 1 que não é o produto de dois números naturais menores.

Um número perfeito é um número inteiro positivo que é igual à soma de seus divisores positivos, excluindo o próprio número.

Um número triangular conta objetos dispostos em um triângulo equilátero. O n-ésimo número triangular é a quantidade de pontos na disposição triangular com n pontos de cada lado e é igual à soma dos n números naturais de 1 a n.

Objetivo

Crie uma função que receba um número como argumento e retorne um texto mostrando se o número é feliz ou não, se é primo ou não, se é perfeito ou não e se é triangular ou não.

Exemplos

happy(2) ➞
"2 is an unhappy number.
2 is a prime number.
2 is not a perfect number.
2 is not a triangular number."


happy(7) ➞
"7 is a happy number.
7 is a prime number.
7 is not a perfect number.
7 is not a triangular number."


happy(8128) ➞
"8128 is a happy number.
8128 is not a prime number.
8128 is a perfect number.
8128 is a triangular number."

Observações

N/A