求菲波拉契数列第n项的值

public int Solution(int n)
{
    if(n < 3)
    {
        return 1;
    }else
    {
        int[] arr = new int[n];
        arr[0] = 1;
        arr[1] = 1;
        for(int i = 3;i <= n;i++)
        {
            arr[i] = arr[i-1] + arr[i-2];
        }
        return arr[n];
    }
}
时间: 2024-11-05 23:19:35

求菲波拉契数列第n项的值的相关文章

用递归求菲波拉契序列第N项的值

1 #include <stdio.h> 2 /* 3 题目:用递归求菲波拉契序列第N项的值 4 */ 5 int func(int n); 6 7 int main(void) 8 { 9 int N; 10 gogogo: printf("输入要求的项数(例:求第3项的值输入3)\n"); 11 scanf("%d",&N); 12 printf("第%d项的值 = %d\n",N,func(N)); 13 14 goto

随机求斐波拉契数列第n位的代码

1------------------------------------------------------------ package oo.day02;import java.util.Scanner;public class FibonacciSequence { public static void main(String[] args) { System.out.println("请输入斐波拉契数列第n项,n>0"); Scanner scan=new Scanner

黑马入学基础测试(三)求斐波那契数列第n项,n&lt;30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

.获得用户的输入 计算      3打印就行了.   这里用到了java.util.Scanner   具体API  我就觉得不常用.解决问题就ok了.注意的是:他们按照流体的方式读取.而不是刻意反复读取 自己写的代码: package com.itheima; import java.util.Scanner; public class Test3 { /** * 3.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55 * * @author

c语言:写一个函数,输入n,求斐波拉契数列的第n项(5种方法,层层优化)

写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列:1,1,2,3,5,8...,当n大于等于3时,后一项为前面两项之和. 解:方法1:从斐波拉契数列的函数定义角度编程 #include<stdio.h> int fibonacci(int n) { int num1=1, num2=1, num3=0,i; if (n <= 2) { printf("斐波拉契数列的第%d项为:%d\n",n,num1); } else { for (i = 2; i <

菲波拉契数列(传统兔子问题)

题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 斐波那契数: 亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就

菲波拉契数列

1 /* 2 * 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 3 * 假如兔子都不死,问每个月的兔子总数为多少? 4 //这是一个菲波拉契数列问题 5 6 */ 7 public class Test7 { 8 public static void main(String[] args) { 9 System.out.println("第1个月:" + 1); 10 System.out.println("第2个月:&

01-封装函数求斐波那契数列第n项

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //需求:封装一个函数,求斐波那契数列的第n项 alert(getValue()); //定义一个函数 function getValue(n){ //回顾

求斐波那契数列第n项,n&lt;30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

public class Test4 { public static void main(String[] args) { int n; int fn; Scanner scanner=new Scanner(System.in); System.err.println("请输入30以内的整数:"); n=scanner.nextInt(); fn=peibo(n); System.out.println("斐波那契数列第"+n+"项为:"+fn

求菲波那契数列的第n个数

1,2,3,5,8,13..... 求第n个数 def get_num(n): if n == 1: return 1 if n == 2: return 2 return get_num(n - 1) + get_num(n - 2) def get_num(n): if n == 1: return 1 if n == 2: return 2 a = 1 b = 2 for i in range(n - 2): a, b = b, a + b return b分为递归和循环两个求法