计算机高手来。帮忙算道题!

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:28:12
set talk off

s=0

t=0

k=0

do while k<=3

t=t+1

a=0

b=0

do while b<=t

a=a+t

b=b+1

enddo

s=s+a

k=k+1

enddo

?"s=",s

set talk on

return

我的问题是为什么这道题的最后答案是S=40

谁能给我讲明白给分 谢谢了!

我给你讲好了。
第一次外循环前s=0 ,t=0,k=<=3成立,此时运行t=t+1=1,a=0,b=0<=t=1成立,第一次运行内循环:a=a+t=0+1=1,b=b+1=0+1=1<=t=1成立,第二次运行内循环:a=a+t=1+1=2,b=b+1=1+1=2<=t=1不成立,终止内循环。s=s+a=0+2=2,k=k+1=0+1=1;
因为k=1<=3成立,所以开始第二次外循环,循环前s=2 ,t=1,k=1。此时运行t=t+1=2,a=0,b=0<=t=2成立,第一次运行内循环:a=a+t=0+2=2,b=b+1=0+1=1<=t=2成立,第二次运行内循环:a=a+t=2+2=4,b=b+1=1+1=2<=t=2成立,第三次运行内循环:a=a+t=4+2=6,b=b+1=2+1=3<=t=2不成立终止内循环。s=s+a=2+6=8,k=k+1=1+1=2;
因为k=2<=3成立,所以开始第三次外循环,循环前s=8 ,t=2,k=2。此时运行t=2+1=3,a=0,b=0<=t=3成立,第一次运行内循环:a=a+t=0+3=3,b=b+1=0+1=1<=t=3成立,第二次运行内循环:a=a+t=3+3=6,b=b+1=1+1=2<=t=3成立,第三次运行内循环:a=a+t=6+3=9,b=b+1=2+1=3<=t=3成立,第四次运行内循环:a=a+t=9+3=12,b=b+1=3+1=4<=t=3不成立终止内循环。s=s+a=8+12=20,k=k+1=2+1=3;
因为k=3<=3成立,所以开始第四次外循环,循环前s=20 ,t=3,k=3。此时运行t=3+1=4,a=0,b=0<=t=4成立,第一次运行内循环:a=a+t=0+4=4,b=b+1=0+1=1<=t=4成立,第二次运行内循环:a=a+t=4+4=8,b=b+1=1+1=2<=t=4成立,第三次运行内循环:a=a+t=8+4=12,b=b+1=2+1=3<=t=4成立,第四次运行内循环:a=a+t=12+4=16,b=b+1=3+1=4<=t=4成立,第五次运行内循环:a=a+t=16+4=20,b=b+1=4+1=5<=