一道用数学题,你能用pascal做好吗?
来源:百度知道 编辑:UC知道 时间:2024/05/29 15:56:23
①当n为奇数时,结果为3n+5;②当n为偶数时,结果为n/2^k(n除以2的k次方)(其中k是使n除以"2^k"为奇数的正整数),并且运算重复进行——
例如,取n=26,则:
F② F① F②
26-----13-----44-----11
↑ ↑ ↑ ↑
第1次 第2次 第3次 第4次
现在,我要求输入一个数(n)和一个数(m)得到——
对“n”实行这种运算,将前“m”次的结果写出——
应该不难吧~
就是个循环,
不过我道行有点浅……
例如,取n=26,则:
F② F① F②
26-----13-----44-----11
↑ ↑ ↑ ↑
第1次 第2次 第3次 第4次
现在,我要求输入一个数(n)和一个数(m)得到——
对“n”实行这种运算,将前“m”次的结果写出——
应该不难吧~
就是个循环,
不过我道行有点浅……
Program
var i,j,m,n:integer;
beign
read(n,m); {读入n,m}
repeat
if (n mod 2=0) then n:=n div 2
else n:=3*n+5; {如果n为偶数然后n取一半、否则n为3*n+5}
write(n,' '); {输出n}
dec(m); {递减m}
until m=0; {直到m等于零为止,停止循环}
end.
while m>0 do begin
dec(m);
if (n mod 2 = 0) then
while (n mod 2 = 0) do n := n div 2;
else n := n * 3 + 5;
writeln(n);
end;
多练习,基础很重要!!!