文档章节

用面向对象的想法解决费波那奇数列的兔子问题

明舞
 明舞
发布于 2014/08/11 21:27
字数 357
阅读 298
收藏 2

以前一直用C的思想写的代码和算法。这次突然豁然开朗的感觉,突然明白了面向对象的思想去解决算法


解题思路:利用面向对象的思想

兔子:只有一个字段,就是月数,有一个函数就是成长,当大于三个月之后就产仔。

队列:兔子队列。

好吧,有了兔子队列,就遍历每一个图列中的兔子吧,能长的就长,能产仔的就产仔。


import java.util.ArrayList;

import java.util.List;


/**

 * @author 作者 刘小明

 * @email ruanjianlxm@sina.com

 * @version 创建时间:2014年8月11日 下午7:15:34 类说明

 *          题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子

 *          ,假如兔子都不死,问每个月的兔子总数为多少?    //这是一个菲波拉契数列问题(暂定一年)

 */

public class lianxi01 {


public static void main(String[] args) {

List<rabbit> rubbits = new ArrayList<rabbit>();

rabbit rabbit = new rabbit();

rubbits.add(new rabbit());

for (int i = 0; i < 24; i++) {

for (int j = 0; j < rubbits.size(); j++) {

rubbits.get(j).grow(rubbits);

}

System.out.println("第"+i+"个月的兔子数"+rubbits.size());

}

}

}


class rabbit {

int month = 0;


public void grow(List<rabbit> rubbits) {

month++;

if (month >= 3) {

rubbits.add(new rabbit());

}

// TODO Auto-generated method stub

}

}



© 著作权归作者所有

上一篇: 如何反转一个栈
下一篇: 博文视点答题<1>
明舞
粉丝 227
博文 424
码字总数 516555
作品 0
程序员
私信 提问
js算法初窥04(算法模式01-递归)

  终于来到了有点意思的地方——递归,在我最开始学习js的时候,基础课程的内容就包括递归,但是当时并不知道递归的真正意义和用处。我只是知道,哦...递归是自身调用自身,递归要记得有一...

zaking
2018/05/22
0
0
兄弟连学Python(3)---简单实用例题

最近学python比较顺手,找到感觉了,所以,我想把我用来练习的实例题目分享出来,有兴趣的朋友可以关注一下。 文章分为10篇,每篇10题,共100道实例。后续如果需要可以增加。 注意:我用的p...

edifier12
2017/12/13
0
0
【算法】Fibonacci(斐波那契数列)相关问题

一、列出Fibonacci数列的前N个数 using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Fibonacci{ } 二、求出Fibonacci数列第N个数字(迭代法)......

GeekDragon
2018/10/24
0
0
使用非递归的方式实现菲波那切数列

题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 方法一:public class Fibonacci1{ //定义三个变量方法 public static void main(String[] args) { int a=1, b=1, c=0...

J星星点灯
2017/10/16
0
0
几道Python小程序练习的多种解法,做出来就表示Python入门了!

下面由小编开始设题解题: python斐波那契数列 关于Python编程练习题和答案,斐波那契数列应用的示例。引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列? 斐波那...

Python新世界
2018/07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

基础工具类

package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

architect刘源源
今天
43
0
P30 Pro劲敌!DxO官宣新机:排行榜又要变

5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

linux-tao
昨天
15
0
Ubuntu18.04.2窗口过小不能自适应(二次转载)

解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

tahiti_aa
昨天
2
0
死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

彤哥读源码
昨天
6
0
Nginx提供下载apk服务

有时候我们可能需要提供文件或者其他apk下载链接,通过 nginx 配置可以很简单地实现。 server {    listen 80;    server_name download.xxx.com;    root app;    locati...

Jack088
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部