Ver Mensaje Individual
  #99 (permalink)  
Antiguo 09/12/2014, 11:21
kutcher
 
Fecha de Ingreso: noviembre-2014
Mensajes: 36
Antigüedad: 9 años, 5 meses
Puntos: 13
Respuesta: Petando la pila. Problemas y retos usando recursividad.

Cita:
Iniciado por Pantaláimon Ver Mensaje
2) Números en descomposición.
Crea una función descompon que descomponga un intervalo de números de a a b ambos inclusive, en sus factores primos. Esta función mostrará el resultado salida estándar
De momento dejo una primera aproximación al segundo ejercicio que ira mejorando lo escribí en C++; en este momento dispongo de poco tiempo, pero voy a ver que se me ocurre para el primer ejercicio :

Código C++:
Ver original
  1. int comprobar_primo( int* num, int e )
  2. {
  3.     if ( *num % e == 0 )
  4.     {
  5.         *num /= e;
  6.         return 1 + comprobar_primo( num, e );
  7.     }
  8.     return 0;
  9. }
  10. string factor_primo(int a, int b, std::stringstream& fact)
  11. {
  12.     unsigned exp = comprobar_primo(&a, b);
  13.  
  14.     if (exp >= 1)
  15.     {
  16.         fact << b;
  17.         if (exp > 1) fact << '^' << exp;
  18.         if (a != 1) fact << " * ";
  19.     }
  20.     if (a > 1) factor_primo(a, b + 1, fact);
  21.  
  22.     return fact.str();
  23. }
  24. void descompon(int a, int b, int ver)
  25. {
  26.     std::stringstream fact;
  27.     if(ver)
  28.         cout << a << " = " << factor_primo(a, 2, fact) << endl;
  29.     if(a < b)
  30.         descompon( a + 1, b, ver);
  31. }

Saludos

Última edición por kutcher; 09/12/2014 a las 11:35