domingo, 1 de março de 2015

[Python] - Número feliz (happy number)

Olá, você sabe o que é um "happy number" ? Então, é um número onde esse número é substituído pela soma dos quadrados dos seus dígitos e esse processo é repetido até que o número seja igual a 1 ou até que ele entre num ciclo infinito que não inclui o 1. Se chegar a 1, então o número é considerado feliz (happy number).

O número 7 por exemplo é um número feliz, veja:

7^2 = 49
4^2 + 9^2 = 97
9^2 + 7^2 = 130
1^2 + 3^2 + 0^2 = 10
1^2 + 0^2 = 1

Se "n" não é feliz, então a soma dos quadrados nunca dará 1, veja o código:


Veja só, testamos com vários números felizes (happy_list). A "my_list" (linha 2) serve para detectar ciclo, se o número "r" já está em "my_list" então é porque entrou em ciclo e pode retornar False indicando que o número não é feliz.


Nenhum comentário: