24
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
程序分析:请抓住分子与分母的变化规律。
实例
#include <stdio.h>
int main()
{
int i,t;
float sum=0;
float a=2,b=1;
for(i=1;i<=20;i++)
{
sum=sum+a/b;
t=a;
a=a+b;
b=t;
}
printf("%9.6f\n",sum);
}
以上实例输出结果为:
32.660263
25
题目:求1+2!+3!+…+20!的和。
程序分析:此程序只是把累加变成了累乘。
实例
#include <stdio.h>
int main()
{
int i;
long double sum,mix;
sum=0,mix=1;
for(i=1;i<=20;i++)
{
mix=mix*i;
sum=sum+mix;
}
printf("%Lf\n",sum);
}
以上实例输出结果为:
2561327494111820313.000000
26
题目:利用递归方法求5!。
程序分析:递归公式:fn=fn_1*4!
实例
#include <stdio.h>
int main()
{
int i;
int fact(int);
for(i=0;i<6;i++){
printf("%d!=%d\n",i,fact(i));
}
}
int fact(int j)
{
int sum;
if(j==0){
sum=1;
} else {
sum=j*fact(j-1);
}
return sum;
}
以上实例输出结果为:
0!=1
1!=1
2!=2
3!=6
4!=24
5!=120