elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda c++ conjetura de Goldbach
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda c++ conjetura de Goldbach  (Leído 713 veces)
shanse

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda c++ conjetura de Goldbach
« en: 8 Noviembre 2018, 13:27 pm »

Alguien me ayuda a acabar este programa, necesito que no me enseñe todas las descomposiciones, solo la que contenga el valor de a menor:

Se pide que, dado como entrada un entero mayor que 2, nos muestre, para cada valor k desde 3 hasta el valor entrado (sea par o impar), una descomposición de k de la forma k = a + b, donde a y b son números primos.

Si la descomposición no es posible, el programa deberá indicarlo según ejemplo.

Como la descomposición puede no ser única, se pide la que contenga el valor de a menor.






EJEMPLOS:
DESCOMPOSICIÓN EN SUMA DE DOS PRIMEROS
INTRODUCE UN MÁXIMO [> 2]: 3
3 = Inexistente

DESCOMPOSICIÓN EN SUMA DE DOS PRIMEROS
INTRODUCE UN MÁXIMO [> 2]: 23
3 = Inexistente
4 = 2 + 2
5 = 2 + 3
6 = 3 + 3
7 = 2 + 5
8 = 3 + 5
9 = 2 + 7
10 = 3 + 7
11 = Inexistente
12 = 5 + 7
13 = 2 + 11
14 = 3 + 11
15 = 2 + 13
16 = 3 + 13
17 = Inexistente
18 = 5 + 13
19 = 2 + 17
20 = 3 + 17
21 = 2 + 19
22 = 3 + 19
23 = Inexistente



Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5.  
  6. int primo(int n);
  7. void sumadeprimos(int n);
  8. //---------------------
  9.  
  10. int main(){
  11.    int n;
  12.    cout<<"Introduce n: ";
  13.    cin>>n;
  14.  
  15.  
  16.  int i;
  17.  for(i=2;i<n;i++){
  18.  
  19.    if (primo(i) && primo (n-i)){
  20.            if (i<=n-i)
  21.    cout << n << " = " << i << " + " << n-i << endl;
  22.  
  23.  
  24.  
  25.  }
  26.  }
  27. return 0;
  28.  
  29. }
  30. //----------------------
  31.  
  32. int primo(int m){
  33.    int incremen=2;
  34.    bool primo=true;
  35.    while(primo && incremen<m){
  36.        if(m%incremen==0) primo=false;
  37.        ++incremen;
  38.    }
  39.    if (primo) return m;
  40.    else return 0;
  41. }


En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 902



Ver Perfil
Re: Ayuda c++ conjetura de Goldbach
« Respuesta #1 en: 19 Noviembre 2018, 10:05 am »

Estaba echando un vistazo a los posts y me pareció interesante este programa por lo que me puse a investigar.Ya he conseguido crear el programa y te comento: si tienes un bucle que te crea n soluciones y tú sólo quieres la primera, debes ponerle dos condiciones al bucle y una vez obtengas la primera solución, cambias el valor de una condición para que salga inmediatamente y no siga calculando. Con eso ya debería ayudarte a que no te muestre todas las soluciones.
Suerte.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
La conjetura de Goldbach
Programación C/C++
ysoledad 6 4,048 Último mensaje 1 Mayo 2013, 15:34 pm
por pacoperico
[Python] Conjetura del Goldbach
Scripting
Karcrack 0 4,574 Último mensaje 7 Julio 2010, 10:37 am
por Karcrack
[Source] Algoritmo Conjetura de Goldbach
Java
juancaa 0 6,608 Último mensaje 10 Noviembre 2012, 22:05 pm
por juancaa
(AYUDA) conjetura de goldbach
Programación Visual Basic
jpablom95 3 2,347 Último mensaje 3 Mayo 2013, 22:51 pm
por Elemental Code
Conjetura de Goldbach en C++
Programación C/C++
seryioo 5 4,990 Último mensaje 28 Julio 2015, 11:43 am
por seryioo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines