java的递归
目錄
一、什么是遞歸?
二、Fibonacci數(shù)列或斐波那契數(shù)列
?三、階乘n!
四、用遞歸方法正序顯示字母元素
五、求sum=a+aa+aaa+...+aa..aa的值
一、什么是遞歸?
遞歸算法是一種直接或間接地調用自身的算法。在計算機編寫程序中,遞歸算法對解決一大類問題是十分有效的,它往往使算法的描述簡潔而且易于理解.
使用遞歸有兩個前提條件:
1.有一個趨近與終止的條件。
2.自己調用自己 。
二、Fibonacci數(shù)列或斐波那契數(shù)列
費波那契數(shù)列(兔子繁殖數(shù)列)
1.定義
https://www.jianshu.com/p/a93eb81fb8a5
2.流程
?
3.代碼
public class Fibonacci {public static void main(String[] args) {int fun = fun(5);System.out.println(fun);}public static int fun(int num){if(num == 1 || num == 2){return 1;}return fun(num-1)+fun(num-2);}}4.運行結果
?
?三、階乘n!
1.定義
一個正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。自然數(shù)n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。
亦即n!=1×2×3×...×(n-1)×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
2.代碼
public class Factorial {public static void main(String[] args) {int funm = fac(4);System.out.println(funm);}public static int fac(int num){if(num == 0 || num == 1){return 1;}return num*fac(num-1);} }3.運行結果
四、用遞歸方法正序顯示字母元素
1.代碼
public class NumValue {public static void main(String[] args) {String[] str = {"a","b","c","d"};int i = 0;//打印String數(shù)組的起始位置printArr(str,i);}//打印數(shù)組public static void printArr(String[] str,int i){if(i>=0 && i<str.length){System.out.println(str[i]);i++;printArr(str,i);}} }?2.運行結果
五、求sum=a+aa+aaa+...+aa..aa的值
1.代碼
public class SunValue {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("請輸入您要累加的值:");int i = scanner.nextInt();System.out.println("請輸入要累加次數(shù):");int nums = scanner.nextInt();int sum = 0;int num = i;for (int j= 0; j< nums;j++){sum += num;num = num*10+i;}System.out.println("和為"+sum);}}2.運行結果?
?
總結
- 上一篇: cdc有哪些rapper_CDC说唱会馆
- 下一篇: 13、腾讯云轻量应用服务器挂载文件系统