PASCAL角谷猜想

来源:百度知道 编辑:UC知道 时间:2024/05/30 10:45:33
对于任何一个自然数A,
(1)a.如果A为偶数,就除以2
b.如果A为奇数,就乘以3加上1
得数记为B
(2)将B代入A重新进行(1)的运算
若干步后,得数为1.
输入任意正整数
输出一行一次的运算的算式,算式中除了运算符号,等号,数字以外不包括任何字符
直到1为止的全部算式 程序写出来

program jiaogu;
var
A:longint;

procedure make(A:longint);
var
ans:longint;
begin
if A=1 then exit;
case odd(A) of
true:
begin
writeln(A,'*3+1=',A*3+1);
A:=A*3+1;
end;
false:
begin
writeln(A,'/2=',A div 2);
A:=A div 2;
end;
end;
make(A);
end;

BEGIN
readln(A);
make(A);
END.

说详细点,是不是直到1为止且只把每一个算式输出?

用递归来做