Pages

viernes, 1 de febrero de 2013

Programa para comprobar la Conjetura de Collatz código en C

Considere siguiente proceso repetitivo para un número entero dado: si el número es 1, el proceso termina. De lo contrario,  si es par se divide entre 2, y si es impar se multiplica por 3 y se le suma 1. Si empezamos con 6, por ejemplo, obtendremos la sucesión de números 6, 3, 10, 5, 16, 8, 4, 2, 1. La conjetura de Collatz dice que, a partir de cualquier número inicial, la sucesión obtenida siempre termina en 1.

Escriba un programa que permita verificar la conjetura de Collatz para cualquier entero dado, y que imprima la secuencia correspondiente.

Codigo Fuente en C
#include <stdio.h>
int main ()
{
    int i, num;
    printf("Ingrese un numero: ");
    scanf("%d",&num);
    printf("\n=> ");

    while(num!=1){
        if(num%2 == 0)
            num = num/2;
        else
            num = num*3 + 1;
        printf("%d ", num);
    }
    getch();
    return 0;
}


13 comentarios:

  1. Y en java(Netbeans o Eclipse) como seria? Me aria el favor de mostrar.... Gracias

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. TheTatos1000, elimina lo del getch, y listo

    ResponderEliminar
  5. Solo introduzcan la libreria #include para que funcione el getch

    ResponderEliminar
  6. bueno para que funcionara el getch yo puse tambien la libreria #include

    ResponderEliminar
  7. Escriba un programa que reciba cuatro calificaciones de un estudiante y devuelva el promedio y la máxima y la mínima calificación.

    ResponderEliminar
  8. Poned el programa dentro de un bucle for y comprobareis un rango de números mucho más ámplio.

    ResponderEliminar