兔子繁衍和最大公约数(Java版)

2023-12-27 15:50

本文主要是介绍兔子繁衍和最大公约数(Java版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、前言
    • 二、兔子繁衍问题
    • 三、求最大公约数
    • 四、this()用法

一、前言

算法上机作业,本来用C语言写,但VScode一直抽风,最近学校在上Java,不妨换种语法写
目前感受:JavaSE的语法其实和C没啥区别,换汤不换药

二、兔子繁衍问题

1、问题
典型的斐波那契数列

1 、 1 、2 、 3 、 5 、8 、 13 、 21 、34…

在这里插入图片描述
2、解决
① 方法一

迭代关系式 y[ i ] = y[ i-1 ] + y[ i-2 ]

public class Rabit_1 {public static void main(String[] args) {int[] arr=new int[3];int i,j;System.out.println("请输入当前的月数");Scanner scanner=new Scanner(System.in);j=scanner.nextInt();arr[0]=arr[1]=1;    	//1,2月兔子个数为1System.out.println("arr[1] = "+arr[0]);System.out.println("arr[2] = "+arr[1]);for(i=2;i<j;i++){arr[2]=arr[1]+arr[0];System.out.println("arr["+(i+1)+"] = "+arr[2]);arr[0]=arr[1];arr[1]=arr[2];}}
}

② 方法二

迭代关系式
a = b+c; b = a+c; c = a+b;

public class Rabit2 {public static void main(String[] args) {int a=1,b=1,c,i;for(i=1;i<=4;i++){c=a+b;a=b+c;b=c+a;        //输出的结果不完美System.out.print(a+" "+b+" "+c+" ");}}
}   

③ 方法三

迭代关系式
a = a+b; b = a+b;

 public class Rabit3 {public static void main(String[] args) {int i,a=1,b=1;System.out.print(a+" "+b+" ");for(i=1;i<=5;i++){a=a+b;b=a+b;System.out.print(a+" "+b+" ");}}
}

三、求最大公约数

1、方法一

穷举法

public class Gongyueshu_1 {public static void main(String[] args){int a,b,t;System.out.println("输入两个整数");Scanner scanner=new Scanner(System.in);a=scanner.nextInt();b=scanner.nextInt();t=a<b? a: b;        //取ab中较小的数while(!(a%t==0&&b%t==0)){t--;}System.out.println(a+"和"+b+"的最大公约数为 "+t);}
}

2、方法二

辗转相除法

 public class Gongyueshu_2 {public static void main(String[] args) {int a,b,r,a1,b1;System.out.println("请输入两个整数");Scanner scanner=new Scanner(System.in);a=scanner.nextInt();b=scanner.nextInt();a1=a;b1=b;while(b!=0){r=a%b;a=b;b=r;}System.out.println(a1+"和"+b1+"的最大公约数是 "+a);}
}

3、方法三

相减法

public class Gongyueshu3 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int a,b;System.out.println("请输入两个整数");a=scanner.nextInt();b=scanner.nextInt();if(a==b) {System.out.println("最大公约数是:" + a);}else{while(a!=b){if(a>b)a=a-b;elseb=b-a;}System.out.println("最大公约数是:" + a);}}
}

四、this()用法

1、介绍
之前上课老师讲到this这个关键字的时候,this.变量名倒是讲清楚了
① 直接引用
this 指向当前对象本身
② 避免重复
形参与成员变量重复,用this区分
③ this( )
引用构造函数

this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。

2、代码
① Person类

在这里插入图片描述
② 主函数Main

在这里插入图片描述

这篇关于兔子繁衍和最大公约数(Java版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543642

相关文章

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick