• 04-语言入门-04-Fibonacci数


     
    描述
    无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
    F(n)=1 ...........(n=1或n=2)
    F(n)=F(n-1)+F(n-2).....(n>2)
    现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
     
    输入
    第一行是一个整数m(m<5)表示共有m组测试数据
    每次测试数据只有一行,且只有一个整形数n(n<20)

    输出
    对每组输入n,输出第n个Fibonacci数

    样例输入
    3
    1
    3
    5
    样例输出
    1
    2
    5
     
     
    #include <stdio.h>

    static int calFibonacci(int n);

    int main()
    {
         int readLen = 0;
         scanf("%d",&readLen);
         getchar();
        
         while(readLen > 0)
         {
              int calN = 0;
              scanf("%d",&calN);
              getchar();
              int result = calFibonacci(calN);
              printf("%d ",result);
             
              --readLen;
         }
        
         return 0;
    }

    static int calFibonacci(int n)
    {
         if(n<1)
         {
              return 0;
         }
         if(n<3)
         {
              return 1;
         }
        
         int left = 1;
         int right = 1;
         int sum = 0;
         int i=3;
         for(;i<n;++i)
         {
              sum = left + right;
              left = right;
              right = sum;
         }
        
         return left + right;
    }
  • 相关阅读:
    hdu 1005(找循环节)
    hdu 1452(因子和+逆元)
    hdu 1215(因子和)
    hdu 1492(约数的个数)
    hdu 2136(质数筛选+整数分解)
    HDU 1286 找新朋友
    HDU 2136 Largest prime factor
    HDU 1722 Cake
    HDU 1713 相遇周期
    HDU 2138 How many prime numbers
  • 原文地址:https://www.cnblogs.com/sharpfeng/p/5141179.html
Copyright © 2020-2023  润新知