作业帮 > 综合 > 作业

求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/05/13 05:24:17
求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,
原来程序是这样的:FOR i:=n DOWNTO 1 DO
BEGIN
X:=X+1;
FOR J:=n DOWNTO i DO
y:=y+1;
END;
求教关于for i:=n downto 1 如题,要计算该语句的执行频度,答案是n+1,
x:=x+1语句要执行n次,但是y:=y+1执行的不是n次,而是1+2+3+.+n次,也就是n*(n+1)/2次.
验证程序:
var i,j,n,x,y:integer;
begin
n:=10;
x:=0;
y:=0;
FOR i:=n DOWNTO 1 DO
BEGIN
X:=X+1;
FOR J:=n DOWNTO i DO y:=y+1;
END;
writeln('x=',x,',y=',y);
end.
输出结果是x=10,y=55
再问: 第一句为什么是n+1次啊。。
再答: 没有n+1,就是n次,n+1是错误的。