【【剑指offer】Java斐波那契数列】教程文章相关的互联网学习教程文章

JAVA实现--斐波那契数列【代码】

斐波那契数列是我在初中的数学课接触到的,当时唯一对这个感兴趣的是他的名字,因为一直在想是谁起了一个这么别扭的名字…后来无知的我才发现原来是这么一回事: 斐波那契数列:是1202年莱昂纳多·斐波那契提出的,当时只是为了解决一个兔子繁殖的问题,后来再世人的研究与拓展,发现他有非常广泛的应用。下面我们用程序来实现如何计算斐波那契数列: 0,1,1,2,3,5,8,13,21,34…… 上面这个数列有一个递推式和一个初始条件: F[n]=F...

斐波那契数列 Java 不同的实现方法所需要的时间比较【代码】

# 首先我们直接看一个demo以及他的结果publicclass QQ {publicstaticvoid main(String[] args) throws ParseException {// 1,1,2,3,5,8 ...int n = 50;Long start = System.currentTimeMillis();System.out.println(fun(n));System.out.println("time1 : " + (System.currentTimeMillis() - start));start = System.currentTimeMillis();System.out.println(fun2(n));System.out.println("time2 : " + (System.currentTimeMillis(...

(java)有序表查找——折半查找,插值查找,斐波那契查找【代码】

有序表查找 /* 主函数 */public class OrderTableSearch {public static void main(String[] args) {int [] a= {0,1,16,24,35,47,59,62,73,88,99}; System.out.println(FibonacciSearch(a, 10, 88));System.out.println(InsertKeySearch(a, 10, 88));System.out.println(BinarySearch(a, 10, 88));}一、折半查找 /* 折半查找 *//* 输出:9 */static int BinarySearch(int [] a, int n, int key){int low, high, mid;low = 0;h...

Java实现斐波那契数列Fibonacci【代码】【图】

import java.util.Scanner; publicclass Fibonacci {publicstaticvoidmain(String[] args) {// TODO Auto-generated method stubScanner in=new Scanner(System.in);System.out.println("斐波那契数列的个数是:");int total=in.nextInt();System.out.println("斐波那契数列是:");for(int i=1;i<=total;i++){ System.out.print(fib(i)+"\t");if(i%10==0)System.out.println(); }}publicstaticlongfib(int i) {// TODO ...

Java代码实现斐波那契数列【代码】【图】

斐波那契数列百度百科 代码演示二种算法执行效率示例   运行结果可知,算法不同,结果相同,代码运行效率具有天壤之别。一个好的算法,可以让程序运行效率大幅度提升~代码拷贝区package com.cyb; /*** 斐波那契数列:后一个数等于前两个数之和 0 1 1 2 3 5 8 13 21.....* @author chenyanbin**/publicclass Main {/** 递归方式*/publicstaticint fib1(int n) {if (n <= 1)return n;return fib1(n - 1) + fib1(n - 2);}/** 优化后算...

PHP_IloveU之(2)php衣食父母:Java与PHP效率比拼之一:斐波那契数列

PHP_I love U之(1)php衣食父母: Java与PHP效率比拼之一: 斐波那契数列 Fibonacci 解释见:http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97 ( 应该是1 , 维基的公式错了!?!) (n?2) 这次先写 Java的代码: class fb { static int f1b (int x) { if ((0==x)||(1==x) ) { return 1 ;} int a; a=f1b(x-1)+x; ...

java经典五十题第1题:斐波那契数列【代码】【图】

题目展示:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 一、第一种情况:只算十二个月。 /*题目分析:斐波那契数列具体为:1,1,2,3,5,8,13,...。 显而易见,从第三个月开始,当月的兔子总数为邻近的前两个月之和; */ public class java1{public static void main (String[] args){//不要忘记main方法int a1=1;int...

快速幂/矩阵快速幂实现斐波那契数列 Java【代码】【图】

参考:斐波那契数列为什么那么重要,所有关于数学的书几乎都会提到? 快速幂 1.快速幂 快速幂算法的核心思想就是每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。 int Qpow( int a,int n){int ans = 1;while(n){if(n&1) ans*=a ;a *= a ;n>>= 1;}return ans; }2.矩阵快速幂实现斐波那契数列 1.Description 求斐波那契数列第n项...

【剑指Offer题解:java】斐波阿契数列【代码】【图】

文章目录 题目题解1. 递归法2. 优化递归3. 优化存储4. 继续改造题目 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n≤39 题解 1. 递归法 斐波那契数列的标准公式为:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*) 根据公式可以直接写出:/*** 方法一:只用递归处理** @param n* @return*/public static int Fibonacci(int n) {if (n == 0 || n == 1) retu...

Java实现斐波那契数列【代码】【图】

斐波那契数列 问题描述解决方案实现代码问题描述 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……,当求这个数列中第n项的数时,如何实现呢? 解决方案 在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ...

LeetCode509(力扣509) :斐波那契数列 java多种思路【代码】【图】

斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 给定 N,计算 F(N)。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1. 示例 2: 输入:3 输出:2 解释:F(3) = F(2) + F(1) = 1 + 1 = 2. 示例 3: 输入:4 输出:3 解释:F(4) = F(3) + F(2) = 2 + 1 = 3. 提示:...

三种JAVA编程方法实现斐波那契数列【代码】

题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 //java编程:三种方法实现斐波那契数列//其一方法:public class Demo2 { // 定义三个变量方法 public static void main(String[] args) { int a = 1, b = 1, c = 0; System.out.println("斐波那契数列前20项为:"); System.out.print(a + "\t" + b + "\t"); //因为前面还有两个1、1 所以i<=18 for (int i = 1; i <= 18; i++) { c = a + b; a = b; b = c; Syst...

面试中如何答好斐波那契数列fabnacci实现之java版?【代码】【图】

背景 在计算科学中有一个著名的例子,斐波那契数列(fabnacci)序列,它是考察我们递归思想的运用。我们简单描述一下,F(n)满足下面的条件:当n=0时F(n)=0 当n=1时F(n)=1 当n>1时,F(n)=F(n-1)+F(n-2). 示例,F(n)的数组从0.....n 0,1,1,2,3,5,8,13,21,34,55,89,144,。。。。 那么如何实现呢?我们来看一下 java实现 1.两层递归 最简单的一种实现:public static long fibonacci(int n){if(n==0) return 0;else if(n=...

牛客题霸NC65斐波那契数列Java题解【代码】

牛客题霸NC65斐波那契数列Java题解 https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=117&&tqId=34987&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking 方法1:动态规划解题思路:当n==0时,返回0,当0<n<=2时,返回1。定义一个数组res用来存放斐波那契数列。斐波那契数列的的当前项只与它的前两项有关。所以,利用for循环,求得斐波那契数列的每一项并保存在数组res中,最后返回res[n...

递归求出第n项斐波那契数列_Java【代码】【图】

public class test_Febonacci {public static void main(String[] args) {//斐波那契额数列: 1 1 2 3 5 8 13//输出第n项斐波那契数列,以7为例System.out.println(febonacci(7));}public static int febonacci(int i) {if (i == 1 || i == 2) {return 1;} else {return febonacci(i - 1) + febonacci(i - 2);}} }输出: