Código del ejercicio:
Definición de los códigos del ejercicio:
import java.util.Scanner; --> Importación explícita de Scanner.Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
-- --> el operador de decremento (--) disminuye (o resta de a uno) su operando y retorna un valor.
Explicación del Código:
¿Qué hace este programa?
Este programa solicita al usuario un número entero y verifica si es un número perfecto. Un número es perfecto cuando la suma de todos sus divisores positivos (excepto el mismo número) es igual al número original.
Ejemplo:
El número 6 tiene como divisores:
1 + 2 + 3 = 6
Como la suma es igual al número, 6 es un número perfecto.
Explicación sencilla del código
| Código | Explicación |
|---|---|
import java.util.Scanner; |
Importa la clase Scanner para poder leer datos escritos por el usuario. |
public class Ejercicio |
Define la clase principal del programa. |
public static void main(String[] args) |
Es el método principal donde inicia la ejecución del programa. |
int ac = 0, n, i, r; |
Declara las variables:
|
Scanner sc = new Scanner(System.in); |
Crea el objeto que permite leer datos desde el teclado. |
System.out.print("Ingrese un número: "); |
Muestra un mensaje solicitando un número. |
n = sc.nextInt(); |
Lee el número ingresado y lo guarda en la variable n. |
i = n - 1; |
Comienza a revisar los divisores desde el número anterior a n. |
while(i > 0) |
Recorre todos los números desde n-1 hasta 1. |
r = n % i; |
Calcula el residuo de dividir n entre i. |
if(r == 0) |
Si el residuo es cero, significa que i es un divisor del número. |
ac += i; |
Suma el divisor encontrado al acumulador ac. |
i--; |
Disminuye el valor de i para revisar el siguiente posible divisor. |
if(n == ac) |
Compara si la suma de los divisores es igual al número ingresado. |
System.out.print("El número es perfecto."); |
Se muestra cuando el número es perfecto. |
else |
Se ejecuta cuando la condición anterior es falsa. |
System.out.print("El número no es perfecto."); |
Indica que el número no es perfecto. |
Funcionamiento paso a paso
- Solicita un número al usuario.
- Empieza a revisar todos los números menores que él.
- Comprueba cuáles son divisores utilizando el operador %.
- Suma todos los divisores encontrados.
- Compara la suma con el número original.
- Si ambos son iguales, el número es perfecto; de lo contrario, no lo es.
Resumen:
El programa encuentra todos los divisores de un número (excepto el mismo número), los suma y verifica si esa suma es igual al número ingresado. Si lo es, el número se considera perfecto; en caso contrario, no lo es.
El programa encuentra todos los divisores de un número (excepto el mismo número), los suma y verifica si esa suma es igual al número ingresado. Si lo es, el número se considera perfecto; en caso contrario, no lo es.
No hay comentarios.:
Publicar un comentario