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;
}
Merci! M'a beacoup aidé.
ResponderEliminarY en java(Netbeans o Eclipse) como seria? Me aria el favor de mostrar.... Gracias
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarGracias por el código : )
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarDa error en getch()
ResponderEliminarTheTatos1000, elimina lo del getch, y listo
ResponderEliminarSolo introduzcan la libreria #include para que funcione el getch
ResponderEliminarbueno para que funcionara el getch yo puse tambien la libreria #include
ResponderEliminarperfecto gracias
ResponderEliminarque paso con la variable i?
ResponderEliminarEscriba un programa que reciba cuatro calificaciones de un estudiante y devuelva el promedio y la máxima y la mínima calificación.
ResponderEliminarPoned el programa dentro de un bucle for y comprobareis un rango de números mucho más ámplio.
ResponderEliminar