精华内容
下载资源
问答
  • 菲波那切数列

    2020-02-26 21:54:03
    一、菲波那切数列的定义 (1)斐波那契数列的定义如下: (2)古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为...

    一、菲波那切数列的定义

    • (1)斐波那契数列的定义如下:

    在这里插入图片描述

    • (2)古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    • (3)代码实现的功能:
      1.打印输出前20位的斐波那契数
      2.打印1-100之间的菲波那切数列
      3.判断一个数是否是斐波那契数列
      4.递归求解斐波那契数列

    二、代码实现

    package 练习;
    
    public class Feibo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		/**
    		 * 1.打印输出前20位的斐波那契数
    		 * 2.打印1-100之间的菲波那切数列
    		 * 3.判断一个数是否是斐波那契数列
    		 * 4.递归求解斐波那契数列
    		 */
    		forFeibo();
    		whilefeibo();
    		Isfeibo(50);
    		System.out.println("第10位斐波那契数是:" + fib(10));
    	}
    	//1.打印输出前20位的斐波那契数
    	public static void forFeibo() {
    		long a1 = 1 , a2 = 1 , result = 0;
    		for(int i = 3; i <= 20 ;i++) {
    			result = a1 + a2 ;
    			a1 = a2;
    			a2 = result ;
    			System.out.print(result+"  ");
    		}
    		
    	}
    	//2.打印1-100之间的菲波那切数列
    	public static void whilefeibo() {
    		long a1 = 1 , a2 = 1 , result = 0;
    		while((a1 + a2) < 100) {
    			result = a1 + a2 ;
    			a1 = a2 ;
    			a2 = result ;
    			System.out.print(result + "  ");
    		}
    	}
    	//3.判断一个数是否是斐波那契数列
    	public static void Isfeibo(long num) {
    		boolean result = true;
    		long a1 = 1;
    		long a2 = 1;
    		//判断num是否小于等于1
    		if(num == a1) {
    			System.out.println("YES");
    		}
    		else if(num < a1){
    			System.out.println("NO");
    		}
    		
    		while(result) {
    			a1 = a1 + a2;
    			a2 = a1 + a2;
    			if(a1 == num || a2 == num) {
    				result = false ;
    				System .out.println("YES");
    			}
    			else if(num < a2) {
    				result = false ;
    				System .out.println("NO");
    			}
    		}
    	}
    	//递归求解
    	public static long fib(long n) {
    		if(n == 1 || n == 2) {
    			return 1;
    		}
    		return fib(n-1) + fib (n-2);
    	}
    }
    
    
    展开全文
  • JAVA递归实现菲波那切数列数列

    千次阅读 2017-10-16 10:14:02
    JAVA递归实现菲波那切数列数列

    JAVA实现菲波那切数列大致有三种思路:变量,数组,递归

    此次分享递归实现。

    递归思路,出口是天数等于1,不等于1时即递归循环

    	public int getFibo(int day) {
    		if(day==1||day==2){
    			return 1;
    		}else{
    			return getFibo(day-2)+getFibo(day-1);
    		}
    	}

    调用该方法,传递一个天数即得到当天数字!

    展开全文
  • java蓝桥杯1---菲波那切数列---实现与解释
  • 使用python实现菲波那切数列

    千次阅读 2017-12-11 16:12:19
    菲波那切数列:0,1,1,2,3,5,8,13,21,34,55,89,144,233 这个就是我们常见的菲波那切数列菲波那切数列的特点之一就是除了前两项后面任意一项都是他前面的两项之后得到的 纳闷如何使用python实现这个数列的表现...

    菲波那切数列:0,1,1,2,3,5,8,13,21,34,55,89,144,233

    这个就是我们常见的菲波那切数列,菲波那切数列的特点之一就是除了前两项后面任意一项都是他前面的两项之后得到的

    纳闷如何使用python实现这个数列的表现形式

    代码如下:

    首先定义一个函数

    def item(n):

          if n == 0:

             result == 0

          elif n == 1:

              result == 1

          else:

              result == item(n - 1) + result(n - 2)


    def Fibo(number):

          i = 0

          while i < number:

               print(item(i))

               i += 1 


    Fibo(10)

    结果如下:


    展开全文
  • 菲波那切数列 php

    2016-10-15 15:58:56
    charset=utf-8');...//菲波那切数列 1,1,2,3,5,8,13,,, /**迭代方式实现菲波那切数列  * [feibo description]  * @param [type] $num [description]  * @return [type] [description]  */
    <?php 
    header('content-type:text/html;charset=utf-8');
    //菲波那切数列 1,1,2,3,5,8,13,,,

    /**迭代方式实现菲波那切数列
     * [feibo description]
     * @param  [type] $num [description]
     * @return [type]      [description]
     */
    echo "迭代方式实现菲波那切数列";
    echo "<br/>";
    function feibo($num)
    {
        if ($num<1) {
            return -1;
        }
        $arr[0]=1;
        $arr[1]=1;
        for ($i=2; $i <=$num ; $i++) {
            $arr[$i]=$arr[$i-1]+$arr[$i-2];
        }
        
        return $arr;
    }
    echo implode(',', feibo(20));
    echo "<hr/>";

    /**递归方式实现菲波那切数列
     * [diegui description]
     * @return [type] [description]
     */
    echo "递归方式实现菲波那切数列";
    echo "<br/>";
    function diegui($num)
    {
        if ($num<1) {
            return -1;
        }
        if ($num==1||$num==2) {
            return 1;
        }
        return diegui($num-1)+diegui($num-2);
    }
    $diegui ='';
    for ($i=1; $i <=10 ; $i++)
    {
            $diegui.=diegui($i).',';
    }
    echo $diegui;
     ?>

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 501
精华内容 200
关键字:

菲波那切数列