De acuerdo con Wikipedia,
Un número feliz es un número definido por el siguiente proceso: comenzando con cualquier número entero positivo, reemplace el número por la suma de los cuadrados de sus dígitos y repita el proceso hasta que el número sea igual a 1 (donde permanecerá), o bucles sin fin en un ciclo que no incluye 1. Los números para los que este proceso termina en 1 son números felices, mientras que los que no terminan en 1 son números infelices (o números tristes).
Y se observa que cada número infeliz finalmente queda atrapado en un bucle infinito al obtener el número 4 en él. Entonces, podemos romper el ciclo si la suma de los cuadrados de dígitos del número resulta ser 4, lo que indica que el número ingresado es un número infeliz.
- Cómo hacer que mis veranos sean productivos cuando mi interés radica en la codificación competitiva
- ¿Cómo debo explicar Hashing a un niño de 4 años?
- ¿Tenemos que implementar estructuras de datos?
- ¿Qué es el algoritmo SURF en el procesamiento de imágenes?
- Cómo escribir un algoritmo para un programa complicado que tiene muchos bucles, conmutadores y otros procesos dentro de una instrucción if
import java.io. *;
clase pública HappyNumber {
public static void main (String [] args) lanza Exception {
BufferedReader br = new BufferedReader (nuevo InputStreamReader (System.in));
int número = Integer.parseInt (br.readLine ());
boolean isHappy = false;
while (verdadero) {
if (número == 1) {
isHappy = verdadero;
rotura;
}
int temp = 0;
while (número! = 0) {
temp = temp + (int) Math.pow ((número% 10), 2);
número / = 10;
}
if (temp == 4) {
rotura;
}
número = temp;
}
System.out.println (isHappy);
}
}
¡¡Espero que esto funcione para usted!! 🙂