1.用循环实现不死神兔
故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,
再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,
问:一对刚出生的兔子,一年内繁殖成多少对兔子?
如 1 1 2 3 5 8 13 21
package com.lin.homeWork;
import java.util.Scanner;
public class Day_17
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
while(sc.hasNext())
{
int i = sc.nextInt();
int countOfRabbit = Exercises_day17_1.countOfRabbit(i);
System.out.println(countOfRabbit);
Exercises_day17_1.count(i);
}
}
}
class Exercises_day17_1
{
public static int countOfRabbit(int months)
{
if(months==1 || months==2)
{
return 1;
}
return countOfRabbit(months-1) + countOfRabbit(months - 2);
}
/*
* 1
* 1
* 1 1 = 2
* num1 = 1
* num2 = 2
* 1 2 = 3
* temp = num1
* num1 = num2
* num2 = num1+temp
* 2 3 = 5
* temp = num1
* num1 = num2
* num2 = num1+temp
* 3 5 = 8
*/
public static void count(int months)
{
// 1月 1
int num1 = 0;
int num2 = 0;
for(int i=0; i<months; i++)
{
if(i==0)
{
num1 = 1;
}
int temp = num1;
num1 = num2;
num2 = num1 + temp;
}
System.out.println(num2);
}
}
|
|