习题 5.10 有一个分数序列2/1, 3/2, 5/3, 8/5, 13/8, 21/13, ...求出这个数列的前20项之和。

来源:互联网 发布:windows启动盘制作 编辑:程序博客网 时间:2024/05/21 09:06

C程序设计 (第四版) 谭浩强 习题5.10 个人设计

习题 5.10 有一个分数序列2/1, 3/2, 5/3, 8/5, 13/8, 21/13, …求出这个数列的前20项之和。

21,32,53,85,138,2113,...

代码块

方法1:

#include <stdio.h>int main(){    int k;    double deno, num, num1, num2, s;    deno = num1 = num2 = 1.0;    for (k = 1, s = 0; k <= 20; k++){        num = num1 + num2;        s += num / deno;        num2 = num1;        num1 = num;        deno = num;    }    printf("sum=%lf\n", s);    return 0;}

方法2:

#include <stdio.h>int main(){    for (double i=0, p=2, q=1, s=0; i<20; s+=p/q, p+=q, q=p-q, i++);    printf("sum=%lf\n", s);    return 0;}
阅读全文
0 0
原创粉丝点击