一道用数学题,你能用pascal做好吗?

[复制链接]
查看11 | 回复3 | 2008-11-4 20:21:00 | 显示全部楼层 |阅读模式
①当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”次的结果写出——
应该不难吧~
就是个循环,
不过我道行有点浅……

回复

使用道具 举报

千问 | 2008-11-4 20:21:00 | 显示全部楼层
Programvar i,j,m,n:integer;beign read(n,m); {读入n,m}repeat
if (n mod 2=0) thenn:=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....
回复

使用道具 举报

千问 | 2008-11-4 20:21:00 | 显示全部楼层
多练习,基础很重要!!!...
回复

使用道具 举报

千问 | 2008-11-4 20:21:00 | 显示全部楼层
while m>0 do begindec(m);if (n mod 2 = 0) thenwhile (n mod 2 = 0) do n := n div 2;else n := n * 3 + 5;writeln(n);end;...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行