一、《while循环结构》学习辅导
while循环可以用在不确定的循环次数
sn与sn-1可以用一个变量来表示,为什么?
原因:已算好sn,则原来的sn-1的值没用,所以可以重复使用。
如果sn-1有用,则要多定义一个变量。
初始化: 数列项: a0, a1, a2
下标i: 0,1
累加和: s0=0, s1
累积: s0=1
通项公式:
an=f(n) an 是n的一个函数
递推公式:
an=f(an-1) an 是an-1的一个函数
Sn=Sn-1+an
Sum =0 相当于S0
i=1 因为下标i与数列项an 相同, a1
i=i+1;
1*2*3*4*5
累加和Sn:si1!+2!+3!+4!+...+20!
数据项an:1!, 2!, 3!, 4!,...,,20!
下标 i: 1, 2,3, 4 20
1+2+6+24+120
S0=0, S1=1, Sn=Sn-1+an
和:可以用变量S来表示
S=s+a;
a1=1 an=an-1*n 找递推公式,容易
项:可以用一个变量a来表示
a=a*n
下标:n=1, n=n+1;
方法一:
#include <stdio.h>
main()
{ //定义变量
int n;
double a,s;
//初始化
a=1; s=0;
n=1;
while( n<=5 )
{ //加当前项
s=s+a;
//计算下一项
n=n+1;
a=a*n;
}
printf("%lf",s);
}
方法2:
#include <stdio.h>
main()
{ //定义变量
int n;
double a,s;
//初始化
a=1; s=1;
n=1;
while( n<5 )
{ //计算下一项
n=n+1;
a=a*n;
//加下一项
s=s+a;
}
printf("%lf",s);
}
累加和Sn:s=a+aa+aaa+...+aa..a
a=2,n=5 s=2+22+222+2222+2222
数据项bn:2, 22,222, 2222,22222,.....
下标 i: 1, 2,3, 4 20
S0=0, S1=2, Sn=Sn-1+bn
和:可以用变量S来表示
S=s+a;
b0=0 b1=2 bn=bn-1*10+a b2=b1*10+a=2*10+2=22
b3=b2*10+a=22*10+2=222 找递推公式,容易
项:可以用一个变量a来表示
b=b*10+a
下标:i=1, i=i+1;
#include <stdio.h>
main()
{ //定义变量
int n,a,b,s,i;
//初始化
scanf("%d,%d",&a,&n);
b=a; s=0;
i=1;
while( i<=n )
{ //加当前项
s=s+b;
//计算下一项
b=b*10+a;
i=i+1;
}
printf("%d",s);
}