007 输出斐波那契数列的第n项
时间:2019-10-07
本文章向大家介绍007 输出斐波那契数列的第n项,主要包括007 输出斐波那契数列的第n项使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
### 1. 递归解法
public class Demo06 {
public static void main(String[] args) {
System.out.println(Fibonacci(6));
}
public static int Fibonacci(int n) {
if(n==1 || n==2)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
### 2. 非递归解法(牛客网通过)
由于使用递归解法进行了许多重复的计算,比如:计算f(10),要先计算f(9)和f(8),计算f(9),要先计算f(8)和f(7)。仅仅这两步f(8)就被计算了2次。当计算f(100)时,使用递归法求解耗时非常严重,主要是因为进行了大量的重复计算。
思想:从下往上计算,先计算f(0)和f(1)算出f(2),再根据f(1)和f(2)算出f(3),以此类推,算出第n项。
public class Solution {
public int Fibonacci(int n) {
if(n==0)
return 0;
if(n==1 || n==2)
return 1;
// 非递归的解法
int first = 1, second = 1;
int temp;
for (int i = 2; i < n; i++)
{
temp = second;
second += first;
first = temp;
}
return second;
}
}
原文地址:https://www.cnblogs.com/helloHKTK/p/11630948.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法