java 兔子问题_java基础算法题,兔子问题和水仙花束

大家都知道java的知识点非常的多又很复杂,它的题目也涉及到方方面面,今天就来为大家展示java基础算法题,也就是兔子问题和水仙花束,一起来看看吧。

一、TestRabbit.java

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

先进行分析: 兔子的规律为数列1,1,2,3,5,8,13,21....代码展示如下:package cn.edu.hit;

/**

* 兔子问题

* 斐波那契数列求值

* @author tonylp

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

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

*1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

*/

public class rabbit

{

public static final int MONTH = 15;

public static void main(String[] args)

{

// TODO Auto-generated method stub

long f1 = 1 L, f2 = 1 L;

long f;

for (int i = 3; i 

{

f = f1 + f2;

f1 = f2;

f2 = f;

System.out.println("第" + i + "个月的兔子对数:" + f2);

}

/*

for(int i =1 ; i

System.out.println("第"+i+"个月的兔子对数:"+fib(i));

}

*/

}

//递归方法实现

public static int fib(int month)

{

if (month == 1 || month == 2)

{

return 1;

}

else

{

return fib(month - 1) + fib(month - 2);

}

}

}

二、FindDaffodilNumber.java

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,它的各位数字立方和等于该数本身。比如说,

153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

同样先进行分析,利用for循环控制100-999个数,每个数分解出个位,十位,百位。代码展示如下:package cn.edu.hit;

/**

* 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

*

* @author tonylp

*/

public class daffodils

{

public static void main(String[] args)

{

int a, b, c;

int data;

for (int i = 100; i 

{

a = i / 100;

b = (i - 100 * a) / 10;

c = i - 100 * a - 10 * b;

data = a * a * a + b * b * b + c * c * c;

if (data == i)

{

System.out.println(i);

}

}

}

}

以上就是关于java基础算法题,兔子问题和水仙花束的主要内容了。如果你对java知识感兴趣,想要了解更多java基础,敬请关注奇Q工具网。

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值