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


相关文章
|
关系型数据库 MySQL Nacos
nacos数据库使用PostgreSQL及集群配置
从Nacos2.2版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。
|
12月前
|
前端开发 Java 数据库连接
你不可不知道的JAVA EE 框架有哪些?
本文介绍了框架的基本概念及其在编程领域的应用,强调了软件框架作为通用、可复用的软件环境的重要性。文章分析了早期Java EE开发中使用JSP+Servlet技术的弊端,包括可维护性差和代码重用性低等问题,并阐述了使用框架的优势,如提高开发效率、增强代码规范性和可维护性及提升软件性能。最后,文中详细描述了几种主流的Java EE框架,包括Spring、Spring MVC、MyBatis、Hibernate和Struts 2,这些框架通过提供强大的功能和支持,显著提升了Java EE应用的开发效率和稳定性。
676 1
|
存储 自然语言处理 C#
WPF技术之Binding
WPF(Windows Presentation Foundation)是微软推出的一种用于创建应用程序用户界面的框架。Binding(绑定)是WPF中的一个重要概念,它用于在界面元素和数据源之间建立关联。通过Binding,可以将界面元素(如文本框、标签、列表等)与数据源(如对象、集合、属性等)进行绑定,从而实现数据的双向传递和同步更新。
662 2
WPF技术之Binding
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
机器学习/深度学习 人工智能 自然语言处理
🔬技术宅必看!AI Prompt深度解析,商业数据分析的科学魔法
【8月更文挑战第1天】在快速发展的科技领域中, AI Prompt 正革新商业数据分析方式。它通过自然语言指令, 驱动 AI 模型实现数据洞察。本文探讨 AI Prompt 的定义、原理及其在商业分析中的应用。**最佳实践包括**: 精准设计 Prompt 以确保清晰具体的指令; 结合领域知识优化 Prompt, 提升分析准确性; 采用迭代法, 根据反馈持续改进模型性能。掌握 AI Prompt 技术, 不仅提高效率, 更能洞察商机, 创造价值。
586 0
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
|
存储 缓存 编解码
阿里云服务器通用型g7、g7a、g8a、g8ae、g8i、g8y实例区别参考
在阿里云目前的活动中,属于通用型实例规格的云服务器有通用型g7、通用型g7a、通用型g8a、通用型g8ae、通用型g8y这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,适用于中小型数据库系统、缓存、搜索集群、大数据服务和集群计算等场景。本文为大家介绍通用型g7、g7a、g8a、g8ae、g8y实例区别及最新活动价格,以供参考。
阿里云服务器通用型g7、g7a、g8a、g8ae、g8i、g8y实例区别参考
|
缓存 关系型数据库 MySQL
提升mysql性能的关键参数之innodb_buffer_pool_size、innodb_buffer_pool_instances
提升mysql性能的关键参数之innodb_buffer_pool_size、innodb_buffer_pool_instances
1586 0
提升mysql性能的关键参数之innodb_buffer_pool_size、innodb_buffer_pool_instances
|
Ubuntu 网络协议 安全
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用桥接方式,不推荐)
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用桥接方式,不推荐)
1683 0
|
运维 Kubernetes Cloud Native
运维自动化之Kubernetes 云原生CICD部署管理系统
Kubernetes 云原生CICD部署管理系统
737 1
运维自动化之Kubernetes 云原生CICD部署管理系统