Pascal/Turbo Pascal - conjetura de ulam-collatz

 
Vista:

conjetura de ulam-collatz

Publicado por oscar (1 intervención) el 10/06/2008 07:58:15
Hola.

Tengo que hacer un programa para demostrar la conjetura de ulam. Éste es el código fuente:

program conjetura_ulam (input, output);
uses crt;

var
num : integer;


begin
clrscr;
textcolor (lightblue);
writeln (' CONJETURA DE ULAM');
writeln (' ~~~~~~~~~~~~~~~~~');
normvideo;
writeln;writeln;


textcolor (yellow);
write ('Ingrese un número entero positivo => ');
readln (num);
writeln;
writeln ('La sucesión de ULAM para ',num, ' es: ');
normvideo;
writeln;
textcolor (lightcyan);
write (num);

while num > 1 do
if odd(num) then
begin
num := num * 3 + 1;
write (' ',num:0);
end
else
begin
num := num div 2;
write (' ',num:0);
end;
normvideo;
writeln;
textcolor (lightgreen);
writeln;
write (' Presionar <INTRO> para salir... ');
normvideo;
readln;

end.

Mi pregunta es: ¿cómo hago para que me dé la serie si se ingresa un 1? lo he intentado de distintas formas, pero a veces sin resultado o con un ciclo infinito. Sé que el problema está en la condición, pero ya no sé cómo plantearla.

De antemano, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder