Java - espero tenga una feliz navidad me podria ayudar con este programa porfis

 
Vista:

espero tenga una feliz navidad me podria ayudar con este programa porfis

Publicado por mario el tronado (12 intervenciones) el 17/12/2021 23:24:38
Descripción
Tobby es un perro inteligente que ama la codificación. Tobby está fascinado por la conjetura de Goldbach, una cojeture muy fácil de describir, pero que nunca ha sido probada, a pesar de los esfuerzos realizados por los mejores matemáticos de la historia. La conjetura afirma lo siguiente:

"Cada número entero mayor que 2 se puede escribir como la suma de los números primos."

Para aprender a codificar, Tobby quiere resolver un problema relacionado: dado un número entero N, ¿de cuántas maneras diferentes puede escribirse ese número como la suma de dos números primos?

Para resolver el problema, Tobby preparó una lista de todos los números primos menores o iguales a 400:

7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397 ...


Especificación de entrada
La primera línea contiene un entero A (1 <= A <= 200), hay líneas A, cada una con un número entero N (4 <= N <= 400). el progama termina cuando (A = 0)


Especificación de salida
Para cada entero N en la entrada, debe escribir una línea con el número de diferentes formas en que N puede escribirse como la suma de dos números primos

Ejemplo de Entrada Ejemplo de Salida
3
4 1
10 2
22 3
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

espero tenga una feliz navidad me podria ayudar con este programa porfis

Publicado por Fabian (15 intervenciones) el 18/12/2021 11:02:15
Un regalo de navidad:

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
import java.util.Scanner;
 
public class GoldbachNumberos
{
    public static boolean esPrimo(int num) {
        int c = 0;
 
        for (int i = 1; i <= num; i++) {
            if (num % i == 0) {
                c++;
            }
        }
 
        return c == 2;
    }
 
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.print("INGESE EL VALOR DE N: ");
        int n = in.nextInt();
 
        if (n <= 2 || n >= 200) {
            System.out.println("NUMERO FUERA DE RANGO.");
            return;
        }
 
        if (n % 2 != 0) {
            System.out.println("ERROR. EL NUMERO ES IMPAR.");
            return;
        }
 
        System.out.println("LA SUMA DE LOS NUMEROS PRIMOS ES: ");
 
        int a = 3;
        int b = 0;
        while (a <= n / 2) {
            b = n - a;
 
            if (esPrimo(a) && esPrimo(b)) {
                System.out.println(a + ", " + b);
            }
 
            a += 2;
        }
    }
}
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

espero tenga una feliz navidad me podria ayudar con este programa porfis

Publicado por Fabian (15 intervenciones) el 18/12/2021 11:24:25
NO TOMES EN CUENTA EL CODIGO ANTERIOR.
ESTE ES EL CODIGO CORRECTO PARA QUE SIGAS INGRESANDO HASTA QUE COLOQUES UN "CERO" PARA FINALIZAR:

Como el enunciado te pide que muestres la suma de DOS numeros primos para formar el numero ingresado, el mismo debe ser segun la teoria de Goldbach, un numero PAR. Porque si ingresas un numero IMPAR se necesitan la suma de TRES numeros primos.
Por lo tanto el programa te avisa en el caso que hayas ingresado un numero impar.

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
48
49
50
import java.util.Scanner;
 
public class GoldbachNumberos
{
    public static boolean esPrimo(int num) {
        int c = 0;
 
        for (int i = 1; i <= num; i++) {
            if (num % i == 0) {
                c++;
            }
        }
 
        return c == 2;
    }
 
    public static void main(String args[]) {
    	int nn=1;
        Scanner in = new Scanner(System.in);
        while (nn!=0) {
        System.out.print("INGESE EL VALOR DE N: ");
        int n = in.nextInt();
        nn=n;
        if (n <= 2 || n >= 200) {
        	if (nn!=0) {System.out.println("NUMERO FUERA DE RANGO.");}
            return;
        }
 
        if (n % 2 != 0) {
            System.out.println("ERROR. EL NUMERO ES IMPAR. SE NECESITAN 3 NUMEROS PRIMOS PARA FORMARLO !!!");
            return;
        }
 
        System.out.println("LOS PRIMOS PARES SON:");
 
        int a = 3;
        int b = 0;
        while (a <= n / 2) {
            b = n - a;
 
            if (esPrimo(a) && esPrimo(b)) {
                System.out.println(a + ", " + b);
            }
 
            a += 2;
        }
 
       }
    }
}
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

espero tenga una feliz navidad me podria ayudar con este programa porfis

Publicado por Alejandro (1 intervención) el 18/12/2021 18:37:46
creo que mi compañero no se expreso bien el código le falto una pequeña parte (ademas de q el ejemplo de entrada y salida se buguea por eso la imagen XD)
"problema corregido"
Tobby es un perro inteligente que ama la codificación. Tobby está fascinado por la conjetura de Goldbach, una cojeture muy fácil de describir, pero que nunca ha sido probada, a pesar de los esfuerzos realizados por los mejores matemáticos de la historia. La conjetura afirma lo siguiente:

"Cada número entero mayor que 2 se puede escribir como la suma de los números primos."

Para aprender a codificar, Tobby quiere resolver un problema relacionado: dado un número entero N, ¿de cuántas maneras diferentes puede escribirse ese número como la suma de dos números primos?

Para resolver el problema, Tobby preparó una lista de todos los números primos menores o iguales a 400:

7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397 ...


Especificación de entrada
La primera línea contiene un entero A (1 <= A <= 200), hay líneas A, cada una con un número entero N (4 <= N <= 400). el progama termina cuando (A = 0)


Especificación de salida
Para cada entero N en la entrada, debe escribir una línea con el número de diferentes formas en que N puede escribirse como la suma de dos números primos

Ejemplo de Entrada Ejemplo de Salida
3
4 1
10 2
22 3
Funciones Requeridas

int primo(int ), esta funcion determian si el numero debajo de N es primo o no, regresa un 1 si lo es y un 0 si no lo es

int suma(int , int) esta funcion recibe los dos numeros primos a sumar y regresa solo el resultado de la suma de ambos numeros primos.
Captura-de-pantalla-2021-12-18-114210
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