【算法练习】递归算法的例子

来源:互联网 发布:中国新四大发明 知乎 编辑:程序博客网 时间:2024/06/05 10:09
一些常用的计算
//从1加到n的各,指定出口为sum(1)的时候==1public static int sum(int n){if (n==1) {return 1;}else{return n+sum(n-1);}}// 求n的阶乘,指定出口为factorial(1)的时候==1public static double factorial(int n) {if(n==1){return 1;}else {return n*factorial(n-1);}}//利面上面的阶乘函数可以求1!+2!+3!+....+n!public static double total(int n ) {double sum = 0;for (int i = 1; i <= n; i++) { sum += factorial(i);}return sum;}

递归的打印目录下的文件和文件夹,包括子目录

/** * 得到当前目录下的文件夹和文件,包括子文件文件夹 * @param path 目录 */public static void getAllFoldersAndFiles(String path){if(!path.endsWith(File.separator)){path = path + File.separator;}File file = new File(path);File[] f =  file.listFiles();for (int i = 0; i < f.length; i++) {if(f[i].isFile()){System.out.println(f[i].getAbsolutePath());}else{String sonPath = f[i].getAbsolutePath();System.out.println(f[i].getAbsolutePath());getAllFoldersAndFiles(sonPath);}}}


原创粉丝点击