黑马程序员技术交流社区
标题: 黑马程序员_求大神指导 [打印本页]
作者: feifeixueyuan 时间: 2016-8-15 23:03
标题: 黑马程序员_求大神指导
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
作者: heimaljx 时间: 2016-8-15 23:30
这问题也太简单了吧,给你一个简单的提示,指数函数
作者: 冯潜001 时间: 2016-8-15 23:42
可以百度一下,这个问题应该有详解
作者: 彭鸿儒 时间: 2016-8-16 16:24
..................................这不是不死神兔的题目啊,视频里有讲的,算了,我自己也写个试试手[AppleScript] 纯文本查看 复制代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入时间:");
int times = sc.nextInt();
System.out.println(times + "个月后,兔子的数量是" + getSum(times) + "对");
}
private static int getSum(int times) {
if (times == 1 || times == 2) {
return 1;
}else {
return getSum(times - 1) + getSum(times - 2);
}
}
}
作者: feifeixueyuan 时间: 2016-8-16 22:19
{:2_43:}非常感谢
作者: wx_W1hr77lR 时间: 2016-8-17 00:21
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
System.out.println(getSum(8));
}
// 1 1 2 3 5 8 13 21
public static int getSum(int i) {
if (i == 1 || i == 2) {
return 1;
}
return getSum(i - 1) + getSum(i - 2);
}
这个问题就是使用递归求斐波那契数列想通了就很简单.
作者: zztierlie 时间: 2016-8-17 15:23
学习了,楼上的句句好厉害啊
作者: zrtalent 时间: 2016-8-18 16:50
[Objective-C] 纯文本查看 复制代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入时间:");
int times = sc.nextInt();
System.out.println(times + "个月后,兔子的数量是" + getSum(times) + "对");
}
private static int getSum(int times) {
if (times == 1 || times == 2) {
return 1;
}else {
return getSum(times - 1) + getSum(times - 2);
}
}
}
作者: 哈韩浪子 时间: 2016-8-18 16:57
import java.util.*;
public class RubbitTest{
public static void main (String[] args) {
long s1,s2;// 定义这个月和下个月兔子的数量
s1 = 1; //第一个月为1对
s2 = 1; //第二个月为1对
int i=1; //定义一个控制变量
int m; // 月份数
Scanner in = new Scanner(System.in); //从控制台输入想要查看的月份
System.out.println("请输入你想要查看的月数:");//输入提示
m = in.nextInt();//输入的整数月份赋值给m
//while循环
while(true){
//第一个月和第二个月兔子的数量都为1对
if(i==1||i==2){
System.out.println(i+" month: "+s1);
i++; // 控制变量 i 加1
}
// i 大于3并且小于我们需要查看的月份
else if(i<m){
s1 = s1+s2;
s2 = s1+s2;
System.out.println(i+" month: "+s1);
i++;//月份加1
System.out.println(i+ " month: "+s2);
i++; //朋份加1
}else{
break;//不符合条件就退出
}
}
}
}
作者: li--yong 时间: 2016-8-18 17:41
受教了!!!
作者: 开心的流泪者 时间: 2016-8-18 18:12
有两点:
1.数值有规律,跟小母牛,费波纳次数列一样
2.看你怎样实现,用循环和 递归 。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |