题目
描述
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。
一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
数据范围:输入满足 1≤n≤31
输入描述:
输入一个int型整数表示第n个月
输出描述:
输出对应的兔子总数
示例1
输入:3
输出:2
解题
本题目主要是让我们去发现规律,然后再来做这个题目。
第一个月为:1
第二个月为:1
第三个月为:2
第四个月为:3
第五个月为:5
第六个月为:8
第七个月为:13
第八个月为:21
观察上面的结果,找出规律,上面的结果就和斐波那契数列的结果一样。所以求出斐波那契数列就可以了。
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int temp1 = 1;
int temp2 = 1;
if(num <= 2){
System.out.println(1);
return;
}
while(num != 2){
int temp3 = temp1 + temp2;
temp1 = temp2;
temp2 = temp3;
num--;
}
System.out.println(temp2);
}
}