和递归相比动态规划是把上一次计算的数存起来把O(2^n)变为O(n) import java.util.Scanner; public class F { public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); System.out.println(f(n)); } public static int f(int n){ int first=1; int second=1; int result=1; if(n<3){ return result; } for(int i=3;i<=n;i++){ result=first+second; first=second; second=result; } return result; } }