题目:有一分数列:2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 …求出这个数列的前20项之和。
程序分析
这是一个典型的分数列数学逻辑题,考究这类题目是需要从已知的条件中找到它们的分布规律
我们把前6荐的分子与分母分别排列出来,仔细观察其规律
分子:2,3,5,8,13,21
分母:1,2,3,5,8,13
无论是从分子观察还是从分母观察,后一个分数的分母为前一个数的分子,后一个数的分子为前一个数的分子加上分母。
步骤一:定义程序目标
编写C程序,求得2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 …求出这个数列的前20项之和。
步骤二:程序设计
整个程序分为两个模块,第一个模块是使用for循环遍历20项目,第二个模块是分数的累加,定义一个sum变量,分子变量a,分母变量b,每次循环变量都为sum+=a/b,tmp=a,a+=b,b=tmp,然后在循环外输出结果。
编写代码
#include<stdio.h>
int main(){
float sum=0,a=2,b=1,tmp;
for(int i=0;i<20;i++){ //进行20次循环
sum+=a/b; //每次循环都累加分数
//进行分子分母变换
tmp=a;
a=b+a;
b=tmp;
}
printf("总数为%.3f\n",sum); //输入累加后的总结果
return 0;
}
效果:
总结
这道数学题目是不是比之前的那些还要难,明白它叠加的逻辑很容易,但是将程序设计转换为代码实现比较考究个人的逻辑能力哈!一定要多刷题,熟能生巧,世上数学天赋很好的人比例是很低的。关于更多程序案例项目,请点击链接进行查看佐德将军C语言案例.好了,我们在下一个章节再见,加油!