思路分析
:n!=1×2×3×…×n,观察原式前后项的关系,后一项是在前一项的基础上乘以项数,如3!是第3项,3!=2!×3,设计数器i,一方面产生1,2,3,…,100这些数,一方面控制循环,本例既有累加,又有累乘,所以还要设累加器s,累乘器p.解
:程序框图如图1-2-20.图1-2-20
用while循环:
i=1;
s=0;
p=1;
while i<=100
p=p *i;
s=s+p;
i=i+1;
end
disp(s)
用for循环:
s=0;
p=1;
for i=1:1:100
p=p*i;
s=s+p;
end
disp(s)
点评
:本例中,把p=1改为p=0,把p=p*i改为p=p+i,则可实现求1+(1+2)+(1+2+3)+…+(1+2+3+…+100)的算法.