递归算法——求取斐波那契数列(1)
import java.util.Scanner; /** * Created by Administrator on 14-5-13. * 计算斐波那契数列 * * Result M(Problem prob) { if (<problem can be solved easily>) return <easy solution>; // The problem cannot be solved easily. Problem smaller1 = <reduce problem to smaller problem> Result result1 = M(smaller1); Problem smaller2 = <reduce problem to smaller problem> Result result2 = M(smaller2); ... Result finalResult = <combine all results of smaller problem to solve large problem> return finalResult; } */ public class Fib { public static void main(String[] args){ long startTime=System.currentTimeMillis(); //获取开始时间 int number=0; System.out.println("please give the number:"); Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); try{ number=Integer.parseInt(str); }catch(NumberFormatException e){ System.out.println("输入有误"); } System.out.println(fac(number)); long endTime=System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间: "+(endTime-startTime)+"ms"); } public static int fac(int temp){ if(temp<=2) { return 1; } else { return fac(temp-1)+fac(temp-2); } } }