已知数n按下图所示程序输入计算,当第一次输入n为80时,那么第2012次输出时结果应
展开全部
第一次输出为40;
第二次输出为20;
第三次10;
第四次5;
第五次12;
第六次6;
第七次3;
第八次10,与第三次相同,于是开始进入一个循环。
由此我们可知,当第一次输入n为80时,第m次输出x为:
当m分别为1,2时,x依次为40,20;
当(m-2)%5=1时,x=10;
当(m-2)%5=2时,x=5;
当(m-2)%5=3时,x=12;
当(m-2)%5=4时,x=6;
当(m-2)%5=0时,x=3;
(注:%为求余运算,x%y即x除以y所得的余数,如5%3=2)
知道上述规律之后,就可以计算得出,(2012-2)%5=0,所以输出结果x=3
第二次输出为20;
第三次10;
第四次5;
第五次12;
第六次6;
第七次3;
第八次10,与第三次相同,于是开始进入一个循环。
由此我们可知,当第一次输入n为80时,第m次输出x为:
当m分别为1,2时,x依次为40,20;
当(m-2)%5=1时,x=10;
当(m-2)%5=2时,x=5;
当(m-2)%5=3时,x=12;
当(m-2)%5=4时,x=6;
当(m-2)%5=0时,x=3;
(注:%为求余运算,x%y即x除以y所得的余数,如5%3=2)
知道上述规律之后,就可以计算得出,(2012-2)%5=0,所以输出结果x=3
展开全部
答案是 3
我用程序算的:
program tt;
var
time:longint;
n:longint;
begin
readln(n);
while time<2012 do begin
inc(time);
if odd(n) then inc(n,7) else n:=n>>1;
end;
writeln(n);
end.
我用程序算的:
program tt;
var
time:longint;
n:longint;
begin
readln(n);
while time<2012 do begin
inc(time);
if odd(n) then inc(n,7) else n:=n>>1;
end;
writeln(n);
end.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
QBasic:
for i=1 to 2012
input "",n
if n mod 2=0 then p=n/2 else p=n+7
next i
print "2012 ci jie ge shi :";p
end
for i=1 to 2012
input "",n
if n mod 2=0 then p=n/2 else p=n+7
next i
print "2012 ci jie ge shi :";p
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询