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

    java代码:

    import java.util.Scanner;
    
    /**
     * 斐波那契数列(Fibonacci sequence),又称黄金分割数列、
     * 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,
     * 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
     * 在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>2,n∈N*)
     */
    public class Fibonacci {
    
        /**
         * 递归实现方式
         */
        public static int fibonacci(int n) {
            if (n <= 2) {
                return 1;
            } else {
                return fibonacci(n - 1) + fibonacci(n - 2);
            }
        }
    
        /**
         * 递推实现方式
         */
        public static int fibonacciNormal(int n) {
            if (n <= 2) {
                return 1;
            }
            int n1 = 1, n2 = 1, sn = 0;
            for (int i = 0; i < n - 2; i++) {
                sn = n1 + n2;
                n1 = n2;
                n2 = sn;
            }
            return sn;
        }
    
        /**
         * 测试
         */
        @SuppressWarnings("resource")
        public static void main(String[] args) {
            System.out.println("请输入斐波那契数列参数n:");
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
    
            // System.out.println(fibonacci(n));
            // System.out.println(fibonacciNormal(n));
    
            for (int i = 1; i <= n; i++) {
                System.out.print(fibonacci(i) + " ");
            }
        }
    }
  • 相关阅读:
    dN/dS与分子进化常用软件
    samtools和bcftools使用说明
    变异检测VarScan软件使用说明
    线程可以共享进程里的哪些资源
    函数调用与系统调用的区别
    海量数据统计出现次数
    海量数据查找问题
    建立高并发模型需要考虑的点
    言简意赅的TIME_WAIT
    常用的TCP选项
  • 原文地址:https://www.cnblogs.com/zj0208/p/6136739.html
Copyright © 2011-2022 走看看