zoukankan      html  css  js  c++  java
  • 斐波那契数列和

    求1/1+2/1+3/2+5/3+8/5+13/8...一直到n的值,首先看到这个题基本上都能反应出要找规律,而一般找规律的都可以尝试用递推法先求出f(n),然后循环或者递归求和,但是这道题每一项的分子和分母都被拆分运算,因此无法运用递推法。然后找规律吧,第一次呢,我是推出第三项的分子等于前两项的分子之和,分母等于前两项的分母之和,但是写出程序之后发现程序十分不简洁,后来上网发现,后一项的分子等于前一项的分母、分子之和,后一项的分母等于前一项的分子这样的规律也是成立的,而且程序看上去更舒服,代码如下:

     1     int k,n;
     2     float num =0;
     3     //分子、分母
     4     double i = 1,j = 1;
     5     double temp;
     6     printf("请输入所要求的项数:");
     7     scanf("%d",&n);
     8     for(k = 1;k<= n;k++)
     9     {
    10         //这里思考有卡壳
    11         num += i / j;
    12         temp = i;
    13         i =i + j;
    14         j =temp;
    15     }
    16     //保留三位小数
    17     printf("%.3lf",num);
    18     system("pause");
    19     return 0;
  • 相关阅读:
    codechef BIBOARD
    Tree
    NOIWC2021总结
    星际穿越
    GDKOI总结
    lg4229
    P3320 [SDOI2015]寻宝游戏
    P6670 [清华集训2016] 汽水
    P6326 Shopping
    P3060 [USACO12NOV]Balanced Trees G
  • 原文地址:https://www.cnblogs.com/baikequanshu/p/3383359.html
Copyright © 2011-2022 走看看