/* * 遞歸函數(shù) * 什么是遞歸? * 在一個方法的內(nèi)部,對自身進行調(diào)用,又叫做遞歸調(diào)用 * * 遞歸和循環(huán)的編寫都包括三部分: * 1. 初始值; * 2. 終止條件; * 3. 前進步長; * * 遞歸解決比較常見的問題: * 累加加的和; * 階乘; * 斐波那契數(shù)列等; * * 可能前面兩個都會有過接觸,沒關(guān)系,我們把三個都寫一遍 * */// 累加加和/* * 計算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結(jié)束,結(jié)果相當于算的是100到1的和; if (a==1) { return 1; }else{ return a + sum(a-1);//這里是調(diào)用了方法自身,讓自身減一再進行判斷,直到a==1為止結(jié)束 } }}*//* * 階乘 * 計算10的階乘(這里如果想換個別的數(shù)的話最好別換太大的數(shù),否則會出現(xiàn)不可預(yù)估的結(jié)果,可能會超出int的內(nèi)存空間,建議用12以下的數(shù)) *//*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); } }}*//* * 斐波那契數(shù)列 * 斐波那契數(shù)列第一位和第二位的數(shù)值都是1,之后的每一位都是前兩位的和; * 計算第5位斐波那契數(shù)列的數(shù)值; */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<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
新聞熱點
疑難解答