最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

兔子生兔子的编程题

IT圈 admin 10浏览 0评论

兔子生兔子的编程题

这两天被一道兔子生兔子简单的编程题纠结住了。(我真是笨死啦!!!)

题目是这样的:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

        这其实是道很简单的题目只是我一开始思考是思路错了,这道题的核心也是难点是:每月的兔子数=上个月的兔子数+上上个月的兔子数(上两个月的兔子数和)

思路:本月的兔子数=上个月的兔子数+这个月新出生的兔子数;而这个月新出生的兔子数=上上个月的兔子数,因为上上个月的兔子无论是什么时候出生的只要过了

两个月到本月后都是能生小兔子的,而上个月出生的兔子到本月是无法生小兔子的。

 

方法一:用数组(推荐)


public class dome {/*** @param args*/public static void main(String[] args) {// TODO 自动生成方法存根int[] arr = new int[21];arr[1] = arr[2] = 2;System.out.print(arr[1] + " " + arr[2] + " ");for (int i = 3; i < arr.length; i++) {arr[i] = arr[i - 1] + arr[i - 2];System.out.print(arr[i] + " ");if (i % 5 == 0) {System.out.print("\r\n");}}}
}

 

方法二:

 

public class demo2 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成方法存根int n = 20,i = 2;// n为月数,i为了隔5个数换一行int f1=2, f2=2, f3 = 0;// f1是上上个月,f2是上个月,f3是本月for (; i <= n; i++) {if (i > 2) {// 本月数==上月数+上上月数f3 = f1 + f2;f1 = f2;f2 = f3;System.out.print(f3 + " ");} elseSystem.out.print(f1 + " " + f2 + " ");if (i % 5 == 0) {System.out.print("\r\n");}}}
}



 

兔子生兔子的编程题

这两天被一道兔子生兔子简单的编程题纠结住了。(我真是笨死啦!!!)

题目是这样的:

有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

        这其实是道很简单的题目只是我一开始思考是思路错了,这道题的核心也是难点是:每月的兔子数=上个月的兔子数+上上个月的兔子数(上两个月的兔子数和)

思路:本月的兔子数=上个月的兔子数+这个月新出生的兔子数;而这个月新出生的兔子数=上上个月的兔子数,因为上上个月的兔子无论是什么时候出生的只要过了

两个月到本月后都是能生小兔子的,而上个月出生的兔子到本月是无法生小兔子的。

 

方法一:用数组(推荐)


public class dome {/*** @param args*/public static void main(String[] args) {// TODO 自动生成方法存根int[] arr = new int[21];arr[1] = arr[2] = 2;System.out.print(arr[1] + " " + arr[2] + " ");for (int i = 3; i < arr.length; i++) {arr[i] = arr[i - 1] + arr[i - 2];System.out.print(arr[i] + " ");if (i % 5 == 0) {System.out.print("\r\n");}}}
}

 

方法二:

 

public class demo2 {/*** @param args*/public static void main(String[] args) {// TODO 自动生成方法存根int n = 20,i = 2;// n为月数,i为了隔5个数换一行int f1=2, f2=2, f3 = 0;// f1是上上个月,f2是上个月,f3是本月for (; i <= n; i++) {if (i > 2) {// 本月数==上月数+上上月数f3 = f1 + f2;f1 = f2;f2 = f3;System.out.print(f3 + " ");} elseSystem.out.print(f1 + " " + f2 + " ");if (i % 5 == 0) {System.out.print("\r\n");}}}
}



 

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论