(1)算法:
第一步,赋值变量S=0,n=0,i=0
第二步,计算i+1,仍用i表示,计算n+i,仍用n表示.计算S+n,仍用S表示.
第三步,判断i是否大于等于100.若是,输出S,结束算法;若不是,进行第二步.
(2)流程图如图.
1+(1+2)+(1+2+3)+…+(1+2+3+…+100)
可以看成是通项An=n(n+1)/2,的数列 到 n=100求和
(注:1+2+……+n=n(n+1)/2 )
考虑 通项An=n(n+1)/2,的数列 的求和公式Sn
设 f(k)=k(k+1)/2=k²/2 +k/2
f(1)=1²/2+1/2 f(2)=2²/2+2/2………………
f(n)=n²/2+n/2
将上面n个式子相加
n n
Sn=½ ∑k²+½ ∑k
k=1 k=1
=½ ×1/6 n(n+1)(2n+1)+½ ×n(n+1)/2
=1/6 ×n(n+1)(n+2)
把n=100代入得,Sn=1701700
n
(注:∑k²=1²+2²+……+n²=1/6 n(n+1)(2n+1)
k=1
还有请问“流程图”是什么,我好尽力为你解答。
int i,j,sum1,sum;
i=1;
j=1;
sum1=0;
sum=0;
for(i=1;i<101;i++)
{
sum1=0;
for(j=1;j<=i;j++)
{
sum1=sum1+j;
}
sum=sum+sum1;
}