Java - Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

 
Vista:
sin imagen de perfil
Val: 98
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por Enmanuel (12 intervenciones) el 12/06/2020 01:49:58
Elaborar un algoritmo que permita leer un N par, y que calcule e imprima la suma de los números pares del 2 hasta el numero leído .si el numero leído menor que 2 , debe imprimir un mensaje de error.


me ayudan porfavor
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
sin imagen de perfil
Val: 79
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por Jonay Zevenzui (23 intervenciones) el 12/06/2020 15:01:56
No se si esto te puede valer, falta que capture excepciones, pero por lo demás creo que cumple. Un saludo

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.Scanner;
import java.util.ArrayList;
 
public class Pares
{
 
    private Scanner in;
    private ArrayList<Integer> list;
    public  Pares() {
 
        int num = new Scanner(System.in).nextInt();
        int total = 0;
 
        if(num>=2){
            if(isPar(num)){
                list = getArray(num);
                for(Integer i: list){
                    System.out.println(i);
                    total+=i;
                }
            System.out.println("Suma de numeros pares= "+total);
            }
        }else{
            System.out.println("El numero debe ser igual o mayor que dos");
        }
 
    }
 
    public boolean  isPar(int n){
        boolean s = false;
 
        int f = n%2;
 
        if(f == 0) s = true;
 
        return s;
    }
 
    public ArrayList<Integer> getArray(int n){
        ArrayList<Integer> arr = new ArrayList<Integer>();
        for(int x=2;x<n+1;x++){
            if(x%2 == 0) arr.add(x);
        }
 
        return arr;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Rodrigo
Val: 1.764
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por Rodrigo (477 intervenciones) el 12/06/2020 16:43:45
Propongo unas mejoras al codigo provisto amablemente por Jonay,

Linea 41, en vez de aumentar 1, aumentar 2 ( x += 2 ), con ello, la linea 42 ya no necesita el if, pues los valores seran todos pares.
Se agrega directamente a la lista sin comparacion.
De hecho la lista no es necesaria. Podria hacerse este ciclo simplificado de la linea 41 y ponerlo reemplazando las lineas 16 y 17.

La funcion isPar solo se usa 1 vez, podria eliminarse y usar directamente la logica en el programa principal. if(num %2 == 0 ) en la linea 15.

Si se deja la funcion isPar, puede simplificarse a retornar directamente el valor de verdad de la comparacion que se hace internamente

1
2
3
public boolean isPar(int n){
     return (n % 2) == 0;
}
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
sin imagen de perfil
Val: 57
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por enmanuel (8 intervenciones) el 12/06/2020 16:46:10
Me lo podrian hacer con joptioPane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
sin imagen de perfil
Val: 28
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por isaac (6 intervenciones) el 13/06/2020 07:33:32
La respuesta se puede dar en una división y una multiplicación sin necesidad de crear estructuras de datos. Imaginemos que el usuario ingresa el número 11 (no es par pero no importa), por lo cual debería retornar la suma de los números

1
2 + 4 +6 + 8 + 10 = 30,

es decir tiene que sumar 5 números pares. Ahora podemos aplicar factorización por factor común lo cual nos queda:

1
2*(1 + 2 + 3 + 4 + 5)

como podemos observar la suma que tenemos dentro del paréntesis obedece a la suma de números consecutivos del 1 al 5, por lo cual y de acuerdo a lo formula de Carl Friedrich Gauss que indica que la suma de números naturales consecutivos del 1 hasta n se puede escribir de la forma

1
(n * (n + 1)) / 2

de esta forma tendriamos

1
2 * ( (n * (n + 1)) / 2 )

Por aritmética simplificamos el 2 y nos queda

1
n * (n + 1)

Aplicado al ejemplo
1
5 * (5 +1) = 5 * 6 = 30

Ahora para saber cuantos números son los que debemos sumar simplemente hacemos una división, en el ejemplo sería

1
int cociente = 11 / 2; // salida 5 por lo cual si es impar no importa.

por lo tanto un programa sencillo seía

1
2
3
4
5
6
public static void main(String[] args){
  int numeroIngresado = 11;
  int cociente = 11 / 2;
  int resultado = cociente * (cociente + 1);
  System.out.println(resultado);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Kabuto
Val: 2.732
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por Kabuto (712 intervenciones) el 13/06/2020 18:52:33
Si es que..., no hay nada mejor que saber de matemáticas..
¡Chapeau!
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
sin imagen de perfil
Val: 57
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por enmanuel (8 intervenciones) el 13/06/2020 23:06:50
Asi seria peroo no hay que cambiarle ese 11
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
sin imagen de perfil
Val: 28
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Elaborar un algoritmo que permita leer un N par y imprima la suma de los números pares

Publicado por isaac (6 intervenciones) el 13/06/2020 23:12:46
Esa tarea la dejo a quien formulo la pregunta, en este caso ese valor debe ser reemplazado por el que el usuario ingresa.
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