Fibonacci斐波那契数列的几种题型

简介: Fibonacci斐波那契数列的几种题型

1. 现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。

牛客:斐波那契数列_牛客题霸_牛客网 (nowcoder.com)


int Fibonacci(int n ) {
    // write code here
    if (n == 0) return 0;
    else if (n == 1) return 1;
    return Fibonacci(n - 1) + Fibonacci(n - 2);
}

2.给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。

牛客:Fibonacci数列__牛客网 (nowcoder.com)

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int ret = 0;
        while(!isFib(0,1,n-ret)&&!isFib(0,1,n+ret)){
            ret++;
        }
        System.out.println(ret);
    }
    private static boolean isFib(int a,int b,int n){
        if(n==a||n==b) return true;
        else if(a>n&&b>n) return false;
        int max = Math.max(a,b);
        return isFib(max,a+b,n);
    }
}


相关文章
|
3月前
|
Java C++ Python
试题 基础练习 Fibonacci数列
试题 基础练习 Fibonacci数列
13 0
|
5月前
|
C语言
斐波那契数列
C 语言实例 - 斐波那契数列
41 1
|
2月前
|
机器学习/深度学习 算法
|
9月前
(1188:1201:)斐波那契数列
(1188:1201:)斐波那契数列
|
9月前
|
机器学习/深度学习 开发工具
斐波那契数列的四种实现
在编程教程中提到斐波那契数列,通常都是用来讲解递归函数。当一个关于 N 的问题可以转换为关于 N - k 的同样问题时,它就可以尝试用递归的思路来解决。
|
10月前
斐波那契数列问题
斐波那契数列问题
58 0
|
10月前
剑指offer 09. 斐波那契数列
剑指offer 09. 斐波那契数列
28 0
|
算法
30.斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39
55 0
30.斐波那契数列