请大家帮帮忙,帮我解释下PASCAL程序

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:28:58
program t1;
var n:integer;
function count(n:integer):integer;
begin
if n=1 then count:=0 else
if n mod 2=0 then count:=count(n div 2)+1 else
count:=count(n*3+1)+1
end;
begin
readln(n)
writeln(count(n))
end.
输入:99 求输出?

program t2
var hi .lo:integer;
procedure pl(m,n:integer;var hi,lo:integer);
var I:integer;
begin
I:=n;hi:=0;lo:=0;
Repeat
I:=I-1;lo:=lo+m;
if lo>=10000then
begin
Lo:=lo-10000;
Hi:=hi+1;
End;
Until I=0;
Write(hi:4,',',lo:4);
End;
Begin
P1(200,343,hi,lo);
End.

1. 25
2. 6,8600

第一个是谷角猜想:任何一个正整数
1 如果是奇数则乘3+1,如果是偶数则除以2
2 看看是不是1,是退出,不是重复步骤1
其中的count函数值计算步数,n为当前改变的数,答案是25

hi的值为m*n div 10000;lo的值为m*n mod 10000
答案是 6,8600
选我吧!

1输出298;因为上面设定N*3+199*+1=298; 2 输出0,因为0*10000=0;