JAVA_递归
递归斐波那契数列
1 public class Fab { 2 3 public static void main(String[] args) { 4 System.out.println(fab(50)); 5 } 6 7 public static long fab(int n){ 8 if ( n == 1 || n == 2) 9 return 1; 10 else 11 return fab(n - 1) + fab(n - 2); 12 } 13 14 }
非递归斐波那契数列
1 public class Fab2 { 2 3 public static void main(String[] args) { 4 System.out.println(f(50)); 5 } 6 7 public static long f(int n){ 8 if(n == 1 || n == 2) 9 return 1; 10 11 long f1 = 1L; 12 long f2 = 1L; 13 long f = 0; 14 15 for(int i = 3; i <= n; i++) { 16 f = f1 + f2; 17 f1 = f2; 18 f2 = f; 19 } 20 21 return f; 22 } 23 }
感觉递归比较慢
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。