Así como hay números felices, al resto de los números los podemos llamar números infelices. Pero como son pocos los que quieren ser infelices, podemos inventar algún método para que estos números infelices pasen a ser felices.
Una forma de hacerlo sería tomar el número y si no es feliz sumarle a su valor la suma de sus propios dígitos para así obtener otro número y ver si este es feliz, si no lo es, repetimos el procedimiento hasta alcanzar la felicidad.
Por ejemplo el primer número infeliz es el 11, aplicando el procedimiento descripto después de 25 pasos el 11 obtiene la felicidad:
11-13-17-25-32-37-47-58-71-79-95-109-119-130-134-142-149-163-
173-184-197-214-221-226-236-247 (247/13=19)
Algunos números infelices alcanzan la felicidad rapidamente como el 15 que necesita un solo paso, 15+1+5=21 (21 es devisible por 3), o el 19 que necesita dos pasos 19-29-40, claro que hay algunos que tardan bastante como el 4177 que necesita 50 pasos.
¿Cuál es el menor número que necesita 10 pasos para ser feliz?
Basado en una idea de Eric Angelini
Si lo quieres compartir o guardar
No quiero estropearlo, con lo que, sin dar la respuesta, este pequeño programita en bash lo da:
ResponderEliminarfor c in $(seq 0 9); do for b in $(seq 0 9); do for a in $(seq 0 9); do orig=$((c*100+b*10+a)); numero=$orig; divisor=$((c+b+a)); if [ $divisor -eq 0 ]; then continue; fi; infeliz=$((numero%divisor)); vuelta=0; serie=$numero; while [ $infeliz -ne 0 -a $vuelta -lt 100 ]; do numero=$((numero+divisor)); if [ $((numero/1000)) -ne 0 ]; then echo "OJO"; fi; divisor=$(((numero/100)+((numero/10)%10)+(numero%10))); infeliz=$((numero%divisor)); ((vuelta++)); serie="$serie-$numero"; done; echo "Numero: $orig. Vueltas: $vuelta. Serie: $serie"; if [ $vuelta -eq 10 ]; then break 3; fi; done; done; done
Muy bueno, sí señor.
El numero es el 142. Maiar, como puedo ver el programa que has comentado?
ResponderEliminarEsacto anónimo, 142 necesita 10 pasos para ser feliz
ResponderEliminarExacto :)
ResponderEliminar