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);
    }
}


相关文章
|
7月前
|
Java C++ Python
试题 基础练习 Fibonacci数列
试题 基础练习 Fibonacci数列
29 0
|
2月前
斐波那契数列
【10月更文挑战第19天】斐波那契数列。
36 3
|
3月前
|
Java
01_斐波那契数列
01_斐波那契数列
|
7月前
|
C语言 C++ 容器
【错题集-编程题】Fibonacci数列(Fib 数列)
【错题集-编程题】Fibonacci数列(Fib 数列)
|
7月前
9.求斐波那契Fibonacci数列通项
9.求斐波那契Fibonacci数列通项
41 0
|
7月前
|
机器学习/深度学习 算法
(1188:1201:)斐波那契数列
(1188:1201:)斐波那契数列
155 0
|
机器学习/深度学习 开发工具
斐波那契数列的四种实现
在编程教程中提到斐波那契数列,通常都是用来讲解递归函数。当一个关于 N 的问题可以转换为关于 N - k 的同样问题时,它就可以尝试用递归的思路来解决。
斐波那契数列问题
斐波那契数列问题
102 0
|
前端开发 程序员 测试技术
斐波那契数列的多种解法
斐波那契数列的多种解法
斐波那契数列的多种解法