Problem E: 计算数列和2/1,3/2,5/3,8/5......对算术叠加问题的解决

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/david2000999/article/details/102494813

Problem E: 计算数列和2/1,3/2,5/3,8/5…对算术叠加问题的解决

我们对问题中经常要解决的算术叠加问题,常常要用循环来处理,基本方法是要先表达各个算式之间的关系,然后做相邻两个式子的运算,最后以sum=sum+新式子的形式进行求和。


例题

Problem E: 计算数列和2/1,3/2,5/3,8/5…

Description
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…… 计算这个数列的前n项和。注意:C语言中整数/整数的结果为整数;需要用(float)强制转换为实型或乘以1.0后进行计算。

Input
输入一个正整数n。

Output
输出数列的前n项和(保留两位小数),输出格式可为:printf(“s=%.2f\n”,…);。

Sample Input
10
15
20

Sample Output
s=16.48
s=24.57
s=32.66

解决

#include<stdio.h>
int main(){
int i,n;
scanf("%d",&n);
float sum=0;
float a=1;
float b=2;
for(i=1;i<=n;i++){
sum=sum+b/a;
int c=a;
a=b;
b=c+b;
}
printf(“s=%.2f\n”, sum);
return 0;
**}

总结

1、叠加问题用循环
2、关键是找到前后式子的数字关系
3、记牢sum=sum+XXX的形式

猜你喜欢

转载自blog.csdn.net/david2000999/article/details/102494813
今日推荐