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;
}


3 comentarios:

Joao Jose dijo...

Merci! M'a beacoup aidé.

Joc Kmilo dijo...

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

Kemish Navarro dijo...
Este comentario ha sido eliminado por el autor.

Publicar un comentario en la entrada