博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二章 第二题 斐波那契数量 查兔子 用数组和递归调用
阅读量:38362 次
发布时间:2022-02-14

本文共 1064 字,大约阅读时间需要 3 分钟。

只用数组

  • import java.util.Scanner;public class Hw02数组{	public static void main(String[] args) {		Scanner sc=new Scanner(System.in); 		System.out.print("请输入度过月数");		int i =sc.nextInt();		if(i<1){			System.out.println("请输入正确月份");}		else{			int[] arr = new int [i+1];			arr[0]=0;			arr[1]=1;			System.out.println("第1个月的兔子有1对,总数是2");			for(int n=2;n<=i;n++){				arr[n]=arr[n-1]+arr[n-2];				System.out.println(n+"个月有"+arr[n]+"对兔子,总数是" + arr[n]*2);			}		}	}}

这个在编程中没啥问题,哪怕不是很会数组也能正常编写。问题在于对他这个数学逻辑的探究,刚开始没想明白

尝试只用递归

  1. import java.util.Scanner;public class Hw02递归调用{	public static void main(String[] args) {	System.out.print("请输入度过月数");	Scanner sc = new Scanner(System.in);	int i =sc.nextInt();	if (i<1){		System.out.println("请正确输入月份");}	else{	System.out.println(i+"个月有"+test(i)+"对兔子");	System.out.println("总数是" +test(i)*2);}	}		private static int test(int i){		if(i==1 || i==2){			return 1;		}else{			return test(i-1)+test(i-2);}		}	}

在这个编程过程中有很多芜杂,比如曾在第六行下加入 test(i)=new test (i)后来实在想不到它的意义就把它删掉了,还能正常运行,很不错,private跟public都无所谓,乐。

在这个中的问题是}不会用,在之前尝试中直接把它加在了最后一行,应当在递归层的上面加着的。

转载地址:http://lbsduy.baihongyu.com/

你可能感兴趣的文章
移植 RT-Thread Nano 到 RISC-V
查看>>
软件包应用分享|基于RT-Thread的百度语音识别(二)
查看>>
在 RT-Thread Nano 上添加控制台与 FinSH
查看>>
一站式开发工具:RT-Thread Studio 正式发布
查看>>
留言有礼|谢谢你悄悄点了小星星,让我们跃居GitHub RTOS Star榜第一
查看>>
功能更新!C 函数也能在 MicroPython 中被调用啦
查看>>
东软载波携ES32+RT-Thread走进海尔集团
查看>>
今晚8点直播预告:RT-Thread Studio等相关主题答疑
查看>>
Linux内核在中国大发展的黄金十年-写于中国Linux存储、内存管理和文件系统峰会十周年之际...
查看>>
物联网 20 年简史大揭秘!
查看>>
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
查看>>
珠联璧合!基于i.MX RT和RT-Thread的物联网云接入方案
查看>>
基于RTT-MicroPython制作自带BGM的新型肺炎晴雨表
查看>>
Arm宣布推出Cortex-M55核心和Ethos-U55 microNPU,瞄准低功耗Edge AI
查看>>
开源项目|RT-Thread 软件包应用作品:小闹钟
查看>>
在 RT-Thread Studio 上使用 RT-Thread Nano
查看>>
开源项目|软件包应用作品:通用物联网系统平台
查看>>
【经验分享】RT-Thread UART设备驱动框架初体验(中断方式接收带\r\n的数据)
查看>>
单片机里面的CPU使用率是什么鬼?
查看>>
推荐一个优质Linux技术公众号-作者都是一线Linux代码贡献者们哦
查看>>