Cálculo de numeros primos

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
KevinV6
Mensajes: 2
Registrado: 06/11/2017 4:34 pm

Cálculo de numeros primos

#1 Mensaje por KevinV6 » 06/11/2017 4:50 pm

Que tal gente, recientemente voy comenzando mi carrera universitaria y estoy cursando la materia de programacion estructurada en lenguaje C.
Me he encontrado con un problema de OmegaUp para el cálculo de numeros primos, para saber si un numero es primo o no lo es y tambien un caso para los numeros enteros.
Soy principiante y me gustaría obtener ayuda para el código ya que he intentado todo lo que está en mi poder y no logro obtener la respuesta completa, a continuación inserto el problema:

Un número entero p es primo si es positivo y sus únicos dos divisores positivos son 1 y p. Los números primos más pequeños son 2,3,5,7,11. Algunos números enteros positivos no son primos, pero son la suma de dos números primos. Por ejemplo: 4=2+2, 8=5+3 y 9=7+2. Advierte que algunos números se pueden escribir -como suma de dos números primos- de más de una forma (por ejemplo el 10 que puede escribirse 7+3 o 5+5), pero nos basta con una de ellas.

Dado un número entero n, podemos decidir si es primo o no y, en caso negativo, decidir si es la suma de dos primos o no.

Entrada
Un número entero n que tendrá un valor entre 1 y 1 000 000.

Salida
Dos números enteros, p,q, separados por un espacio, tales que: si n es primo, entonces p=n, q=0; si n es suma de dos primos p,q, entonces p≥q; y en caso contrario p=0, q=0.


Ejemplos

Entrada Salida
10 7 3

17 17 0

27 0 0

Espero puedan ayudarme, sobre todo para el caso de los numeros enteros que no son primos y que se pueden ver como la suma de dos primos numeros, es un problema para los temas que he visto hasta ahora, como son, Ciclos, condiciones, funciones.
Adjuntos
Captura de pantalla 2017-11-06 a la(s) 18.39.59.png
Captura de pantalla 2017-11-06 a la(s) 18.39.59.png (126.46 KiB) Visto 719 veces

Fede_Suarez
Mensajes: 39
Registrado: 29/10/2017 1:05 pm

Re: Cálculo de numeros primos

#2 Mensaje por Fede_Suarez » 12/11/2017 4:22 pm

Para saber si es primo o no, usa un ciclo for y dentro un if, y proba dividiendo por el valor de i, y si el resto de la división es 0, guardas ese valor, al terminar el ciclo for, comparas los valores con los que deberían ser para que fuera primo, es decir, 1 y n, de no ser así, el numero es primo.
Y para saber si es la suma de dos primos, deberías hacer un for anidado en el que sumes las dos variables del for, si es que estas son primas, es decir que antes de sumarlas deverian pasar por el proseso anterior, y si la suma de los dos numeros primos es igual al numero ingresado, listo!! problema resuelto.

carlos_zamora
Mensajes: 1
Registrado: 29/10/2019 5:19 pm

Re: Cálculo de numeros primos

#3 Mensaje por carlos_zamora » 29/10/2019 5:20 pm

Hola amigo tengo el mismo problema por hacer, pudiste resolverlo?

Avatar de Usuario
kiko66
Mensajes: 39
Registrado: 11/10/2019 10:51 am

Re: Cálculo de numeros primos

#4 Mensaje por kiko66 » 31/10/2019 1:09 pm

hola kevin y carlos

para este ejercicio yo he hecho una funcion que me dice si es primo,
si no lo es he hecho otra funcion que me dice si la suma de dos primos da el buscado

creo que la dificultad la tendras en buscar la suma de los dos primos, yo lo he hecho asi:

desde 2 hasta la mitad del numero, busco un primo con la funcion "int esPrimo(int num)"
entonces ej si el numero_no_primo es 6, empiezo el bucle desde 2 y
si es primo 2 entonces
miro si "esPrimo(numero_no_primo - numero_primo_encontrado)"
que seria esPrimo(6-2), si es primo, los dos son primos ya esta

bueno suerte con el programa

pd: si no encotrais inspiracion ponerlo por aqui y os paso mi codigo

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados