sucesion!!!!

Iniciado por mapers, 4 Julio 2010, 01:40 AM

0 Miembros y 1 Visitante están viendo este tema.

mapers

La entrada 22, la siguiente secuencia de números se imprimirán 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Código (cpp) [Seleccionar]

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
   int n;
   cout<<"ingrese numero"<<endl;
   cin>>n;
  do
   {              
              cout<<n<<"-";
              if((n%2)== 0)
              {
              n=n/2;
              }
                    else{
                         n=(3*n+1)/2;
                         }
             
    }while(n!=1);
   
   system("PAUSE");
   return EXIT_SUCCESS;
}



porque no me imprime lo que yo quiero !!!! si ya hize la prueba de escritorio

MIG80

#1
La línea n=(3*n+1)/2; debes reemplazarla por n=3*n+1;. Y antes del system("pause") debes imprimir el ultimo número de la serie: cout<<"1\n";

leogtz

Código (cpp) [Seleccionar]
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
   int n;
   cout << "Ingrese numero : ";
   cin>>n;
    do
    {
        cout << n << '-';
        if(n % 2 == 0)
        n = n/2;
        else {
            n=(3*n+1);
            cout << n << '-';
            n /= 2;
        }
    } while(n != 1);
   return EXIT_SUCCESS;
}

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com