常用算法思想之:递推思想

来源:互联网 发布:淘宝职业打假人 编辑:程序博客网 时间:2024/05/19 16:38

递推思想适合于有着明显递推公式的场合。

例如:不死神兔:一对2个月大的兔子以后每个月都可以生一对小兔子,新生的兔子出生2个月后可以生小兔子。问1年后共有多少对兔子?

分析:

第1个月:1对兔子。

第2个月:1对兔子。

第3个月:2对兔子。

第4个月:3对兔子。

第5个月:4对兔子。

。。。。。。

规律:F(n)=F(n-1)+F(n-2)

代码实现:

import java.util.Scanner;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.print("请先输入时间:");Scanner input=new Scanner(System.in);int n=input.nextInt();//时间int num=fibonacci(n);//求解    System.out.println("经过"+n+"月的时间,共能繁殖成"+num+"对兔子!");}}
运行结果:

递推算法求解兔子产仔问题!请先输入时间:12经过12月的时间,共能繁殖成144对兔子!





0 0