递归

来源:互联网 发布:c语言实验转换字母 编辑:程序博客网 时间:2024/06/04 20:13

递归

1、有一楼梯共10级.如果规定每步只能跨上一级或两级,要登上10级台阶有多少种不同走法?

package ch06;/** *  * @author 小明 * */public class dianti {public static void main(String[] args) {System.out.println(tt(10));}public  static int tt(int n){if(n==1){return 1;}else if(n==2){return 2;}else{return tt(n-1)+tt(n-2);}}}

2、计算1+2+3+......+9+10;

package ch06;public class Triangle {public static int getNumber(int n){int total =0;while(n>0){total += n;n--;}return total;}public static int getNumByRecursion(int n){if(n ==1){return 1;}else{return n+getNumByRecursion(n-1);}}public static void main(String[] args) {System.out.println(Triangle.getNumber(10));System.err.println(Triangle.getNumByRecursion(10));}}

3、Fibonacci算法

package ch06;public class Fibonacci {public static int getNumber(int n) {if(n == 1) {return 0;} else if(n == 2){return 1;} else {return getNumber(n - 1) + getNumber(n - 2);}}public static void main(String[] args) {System.out.println(getNumber(6));}}


4、递归最简单的方法

package ch06;public class Recursion {public static void main(String[] args) {//test();test2(100);}public static  void test(){System.out.println("hello");test();}public static void test2(int n){if(n==0){return ;}System.out.println(n);test2(n-1);} }



0 0
原创粉丝点击