前面有老哥给了三种解决思路,感觉虽然巧妙但是不够无脑,把自己的贴出来康康。
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int rabitA = 1,B = 0,rabitC = 0;
System.out.println("请输入所需计算的月份数");
int time = sc.nextInt();
for (int i = 2;i <= time;i++){
int temp;
temp = rabitB;
rabitB = rabitA;
rabitC = temp + rabitC;
rabitA = rabitC;
System.out.println(i+"月兔子对数为" + (rabitA+rabitB+rabitC));
}
}
}
整个问题中存在三种状态的兔子,一个是刚出生,一个是在成长,一个是在生兔状态,那么设置三个变量兔子A B C。
每个月发生的事情是:
1.兔子A成长为了兔子B。
2.兔子B成长为了兔子C且生了一对兔子A。
3.兔子C生了一对兔子A。