Java 解决 古典问题

1 问题

编写一个Java程序,解决以下问题:

c8f8f3b9b2c425a77928df8d3b4ad8b5.png

2 方法

  1. 再导入java.util包下的Scanner类,构建Scanner对象,以便输入。


    67c70d1216b99b4a18e47ccc80de1d42.png
    eb3753fcb294ec34a0d00d53422e2af4.png

  2. 通过对问题的分析,我们可以得到,当位数为1时,其返回值为1;

    当位数为2时,其返回值为1;

    当位数为3时,其返回值为1,由此可得这是它们的起始值。

    然后当位数为4时,其返回值为3=2+1;

    当位数为5时,其返回值为5=3+2;

    当位数为6时,其返回值为8=5+3;当位数为7时,其返回值为13=8+5,所以由以上可得,当大于等于3的情况下,当前位数的返回值为:

    f(n)=f(n-1)+f(n-2)。


    19c94983b7fb3fe23a957d30a6c14c06.png

  3. 输出结果,当位数等于7时,其返回值为13。

4cb2aafbc987b5a4f83f71ab8ca98bd4.png

public class boke2 {
   public static void main(String[] args) {
       System.out.println("请输入月份:");
       Scanner s = new Scanner(System.in);
       int n = s.nextInt();
       System.out.println("总数:"+"\n"+f(n));
   }
   public static int f(int n){
       if (n!=1&&n!=2){
           if (n!=3){
               return f(n-1)+f(n-2);
           }
           return 2;
       }
       else return 1;
   }
}

3 结语

针对古典问题,首先先通过分析,可以发现此问题的突破口在三个月之后,第一个月和第二个月都是1,从第三个月开始计算第一次出生的兔子数,看出当月份为n时,兔子的对数为前两个之和,所以设对数为f(n),通过编程证明了该方法是有效的,本文的方法只是其中一种,未来可以研究出更多更简洁的方法进行实验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/640197.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电影推荐|基于SSM+vue的电影推荐系统的设计与实现(源码+数据库+文档)

电影推荐系统 目录 基于SSM+vue的电影推荐系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&#…

Flutter设计模式全面解析:单例模式

谈到设计模式这个“古老”的话题,大家先别急着划走哈,虽然对它再熟悉不过,几乎是最初开始学习编程到现在伴随着我们整个编程生涯,最早 Java、C 语言实现的各种设计模式到现在还会经常有所接触,面试中也是必问的环节&am…

IntelliJ IDEA集成Baidu Comate,商城系统支付交易功能开发实战

文章目录 Baidu Comate介绍安装配置体验安装插件配置体验注释生成代码技术问答 实战设计表生成代码导入数据 总结 Baidu Comate介绍 在科技互联网飞速发展的今天,百度凭借其深厚的技术积累和创新能力,推出了一款名为Baidu Comate智能代码助手的产品。该…

Linxu 系统中 修改 docker 镜像存放目录 修改docker默认路径。亲测有效。

1、关闭docker 服务 systemctl stop docker 2、创建新的存放路径(-p 父级目录不存在一起创建) mkdir /home/service/docker -p 3、移动默认路径中的镜像文件到新目录 mv /var/lib/docker/* /home/service/docker/ 4、修改docker.service 将新的路…

【C++】继承(二)深入理解继承:派生类默认成员函数与友元、静态成员的奥秘

目录 派生类的默认成员函数①派生类的构造函数②派生类的拷贝构造函数③派生类的赋值构造④派生类的析构函数 继承与友元继承与静态成员 前言 我们在上一章讲解了: 继承三部曲,本篇基于上次的基础继续深入了解继承的相关知识,欢迎大家和我一起学习继承 派…

微信小程序报错:notifyBLECharacteristicValueChange:fail:nodescriptor的解决办法

文章目录 一、发现问题二、分析问题二、解决问题 一、发现问题 微信小程序报错:notifyBLECharacteristicValueChange:fail:nodescriptor 二、分析问题 这个提示有点问题,应该是该Characteristic的Descriptor有问题,而不能说nodescriptor。 …

docker-file 网络

docker挂载 1.绑定挂载(Bind Mounts):绑定挂载是将主机上的文件或目录挂载到容器中。 docker run -v /host/path:/container/path image_name 2.卷挂载(Volume Mounts):卷挂载将 Docker 数据卷挂载到容器中…

Java开发大厂面试第23讲:说一下 JVM 的内存布局和运行原理?

JVM(Java Virtual Machine,Java 虚拟机)顾名思义就是用来执行 Java 程序的“虚拟主机”,实际的工作是将编译的 class 代码(字节码)翻译成底层操作系统可以运行的机器码并且进行调用执行,这也是 …

使用delphi11编写一个基于xls作为数据库的照片展示程序

1、创建xls文档可以参考前一篇博客,并使用wps将文档保存为2003格式xls后缀。 2、在form上面放置adoconnection、adotable、datasource、spinedit、timer、checkbox、image、4个button组件。 image的设置: Image1.Align : alClient; Image1.Center : Tr…

三台泵恒压供水站电控系统及PLC程序设计实例

本文由艺捷自动化编写,其旗下产品有艺捷自动化网站和易为二维码说明书小程序(微信) 本文以一个具体的项目案例,来讲述一个恒压供水站的电控柜设计过程。包括用户需求,材料选型,图纸设计,柜内布…

Manjaro linux install RedisGUI (RedisInsight)亲测2024-5-25

Arch 用户仓库(Arch User Repository)(AUR) 是用户选择 基于 Arch Linux 的系统 的一个主要理由。你可以在 AUR 中访问到大量的附加软件。 (LCTT 译注:AUR 中的 PKGBUILD 均为用户上传且未经审核,使用者需要自负责任,在构建软件包前请注意检…

ubuntu 源码安装 cloudcompare

1.系统环境: ubuntu18 cmake:3.10.2 官方安装指导:https://github.com/CloudCompare/CloudCompare/blob/master/BUILD.md (注:查看cmake版本: cmake --version) 2.安装依赖 sudo apt-get update sudo apt-get insta…

【Numpy】深入解析numpy中的ravel方法

NumPy中的ravel方法:一维化数组的艺术 🌈 欢迎莅临我的个人主页👈这里是我深耕Python编程、机器学习和自然语言处理(NLP)领域,并乐于分享知识与经验的小天地!🎇 🎓 博主简…

Linux修炼之路之自动化构建工具,进度条,gdb调试器

目录 一:自动化构建工具make/makefile 生成内容: 清理内容: 对于多过程的: 对于多次make: 特殊符号: 二:小程序之进度条 三:git的简单介绍 四:Linux调试器gdb 接…

Centos7静态路由和动态路由

路由,即路由选择(Routing),是指在计算机网络中选择数据传输路径的过程。路由器(Router)是执行路由选择功能的网络设备。路由的主要目的是在复杂的网络结构中,选择最佳路径将数据包从源节点传递到…

kubectl

陈述式资源管理方法 kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口 kubectl 是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织转换成apiserver能识别的信息,进而实现…

在某云服务器上搭建公网kali linux2.0

前提: 可用的 CVM 实例 挂载一个系统盘之外的盘,安装完成后可卸载! 创建实例,安装centos7系统! 然后执行fdisk -l看磁盘的情况 在这里我将把镜像写入vdb这块数据盘 非 root 的情况下记得sudo执行以下命令 注意&…

【综合类型第 39 篇】《我的创作纪念日》成为创作者的第2048天

这是【综合类型第 39 篇】,如果觉得有用的话,欢迎关注专栏。 前言 无意间看了一眼CSDN的私信,提示我 Allen Su ,不知不觉今天已经是你成为创作者的 第2048天 啦,为了纪念这一天,我们为您准备了一份专属小…

51-53 DriveWorld:通过自动驾驶世界模型进行 4D 预训练场景理解 (含模型数据流梳理)

24年5月,北京大学、国防创新研究院无人系统技术研究中心、中国电信人工智能研究院联合发布了DriveWorld: 4D Pre-trained Scene Understanding via World Models for Autonomous Driving。 DriveWorld在UniAD的基础上又有所成长,提升了自动驾驶目标检测…

Java方法的基本用法

Java方法的基本用法 前言一、什么是方法方法存在的意义示例 二、方法定义语法基本语法代码示例注意事项 三、方法调用的执行过程基本规则代码示例计算两个整数相加计算 1! 2! 3! 4! 5! 四、实参和形参的关系代码示例交换两个整型变量原因分析解决办法 五、没有返回值的方法…