Java - Número Perfecto JAVA

 
Vista:

Número Perfecto JAVA

Publicado por Juan (24 intervenciones) el 21/09/2020 15:17:03
Saludos a todos. Vuelvo a recurrir a ustedes, rogándoles por su solidaridad. Por favor si pueden criticar y aportar sus opiniones a esta resolución. Desde ya muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
Proceso que calcule e imprima los números perfectos menores que 1000. Un número es perfecto
si la suma de sus divisores, excepto él mismo, es igual al propio
número. P/ej 6 = 1+2+3
 */
package numeroperfecto;
 
public class Numeroperfecto {
 
 
    public static void main(String[] args) {
        int i, j, suma = 0;
        System.out.println("Números perfectos menores a 1000");
        for (i=0; i >1000; i++){
 
            for (j =1;j < i;j++){
                suma = suma +j;
            }
        }
        if (i == suma){
 
        }
 
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Número Perfecto JAVA

Publicado por Rodrigo (623 intervenciones) el 21/09/2020 16:16:58
Vas bien.

Problemas que veo:

Tu codigo esta sumando los numeros menores que i, no los numeros que dividen a i.

Los numeros que dividen a i cumplen i

En el segundo ciclo, j va de 1 a i-1 (o sea los menores que i)

j divide a i, si i % j == 0

Si i % j == 0 sumas a j, no lo sumes en todos los casos, como lo haces ahora.

Si i == suma, sera un numero perfecto, ya tienes el if, te falta imprimir dentro del mismo.

Otro problema: tienes que volver suma a 0 para la siguiente iteracion.
Una manera de hacerlo es ponerlo en cero justo antes de comenzar el 2do ciclo, justo al inicio, como primera insrtuccion del primer ciclo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Número Perfecto JAVA

Publicado por Juan (24 intervenciones) el 26/09/2020 19:47:02
Muchas gracias por su aporte. Éxitos. Salud.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 17
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Número Perfecto JAVA

Publicado por Alfil (12 intervenciones) el 21/09/2020 16:33:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package numerosperfectos;
 
public class NumerosPerfectos {
 
    public static boolean numeroPerfecto(int numero) {
        int suma = 0;
 
        for (int i = 1; i < numero; i++) {
            if (numero % i == 0) {
                suma = suma + i;
            }
        }
 
        if (suma == numero) {
            return true;
        } else {
            return false;
        }
    }
 
    public static void main(String[] args) {
 
        for (int i = 1; i <= 1000; i++) {
            if(numeroPerfecto(i)) {
                System.out.println(i + " ");
            }
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Número Perfecto JAVA

Publicado por Juan (24 intervenciones) el 26/09/2020 19:48:38
Eternamente agradecido. Éxitos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar