递推算法
递推算法是一种理性思维模式的代表,其根据已有的数据和关系,逐步推导而得到结果。
- 根据已知结果和关系,求解中间结果。
- 判定是否达到要求,如果没有达到,则继续根据已知结果和关系求解中间结果;如果满足要求,则表示寻找到一个正确答案。
实例:
斐波那契数列
如果一对两个月大的兔子以后每个月都可以生一对小兔子,而一对新生兔子出生两个月后才可以生小兔子。也就是说,1月份出生,3月份才可产仔。那么假定一年内没有发生兔子死亡事件,一年后共有多少只兔子?
public class P3_2 {
public static int fibonacci(int n){
int t1,t2;
if(n==1||n==2){
return 1;
}else {
t1 = fibonacci(n-1);
t2 = fibonacci(n-2);
return t1+t2;
}
}
public static void main(String[] args) {
System.out.println("递推算法求解兔子产仔问题!");
System.out.println("时间");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int num = fibonacci(n);
System.out.println("经过"+n+"个月产仔"+num+"只");
}
}
递推算法求解兔子产仔问题!
时间
12
经过12个月产仔144只