/* * 递归函数 * 什么是递归? * 在一个方法的内部,对自身进行调用,又叫做递归调用 * * 递归和循环的编写都包括三部分: * 1. 初始值; * 2. 终止条件; * 3. 前进步长; * * 递归解决比较常见的问题: * 累加加的和; * 阶乘; * 斐波那契数列等; * * 可能前面两个都会有过接触,没关系,我们把三个都写一遍 * */ // 累加加和 /* * 计算1到100的和; */ /* public class JavaSE{ public static void main(String[] args){ int s = sum(100); System.out.println( s ); } public static int sum(int a){//输出整形值100,进入判断语句,如果是1,就返回1,如果不是1,就返回:a + (a-1) + [(a-1)-1] + ...直到a - (a-1),也就是等于1的时候,返回1结束,结果相当于算的是100到1的和; if (a==1) { return 1; }else{ return a + sum(a-1);//这里是调用了方法自身,让自身减一再进行判断,直到a==1为止结束 } } } */ /* * 阶乘 * 计算10的阶乘(这里如果想换个别的数的话最好别换太大的数,否则会出现不可预估的结果,可能会超出int的内存空间,建议用12以下的数) */ /* public class JavaSE{ public static void main(String[] args){ System.out.println( factorial(10) ); } public static int factorial(int n){ if (n==1) { return 1; }else{ System.out.println( n + "x" + (n-1) + " " ); return n*factorial(n-1); } } } */ /* * 斐波那契数列 * 斐波那契数列第一位和第二位的数值都是1,之后的每一位都是前两位的和; * 计算第5位斐波那契数列的数值; */ public class JavaSE{ public static void main(String[] args){ System.out.println( fibIteration(5) ); } public static long fibIteration(int index) { if (index == 1 || index == 2) { return 1; } long f1 = 1l; long f2 = 1l; long f = 0; for (int i = 0; i < index-2; i++) { f = f1 + f2; f1 = f2; f2 = f; System.out.print(f2 + "+" + f1 + ","); } return f; } }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>杰我教育WWW.JAOVO.COM<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<