/* * 遞歸函數 * 什么是遞歸? * 在一個方法的內部,對自身進行調用,又叫做遞歸調用 * * 遞歸和循環的編寫都包括三部分: * 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<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
新聞熱點
疑難解答