public static void main(String[] args) { System.out.println("打印小于50的数,逆序"); printOne(2); } public static void printOne(int n) { //System.out.println(n); if (n < 50) printOne(2 * n); else { //System.out.println(n); printTwo(n / 2); } } public static void printTwo(int n) { if (n >= 2) { System.out.println(n); printTwo(n / 2); } }
说明:一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于50时,把值按照指定顺序输出来。 假设n = 2;
参考:http://blog.csdn.net/xiaorenhui1030/article/details/37940621
/** * 递归小例子:比如打印小于m的数, * 每次打印后加1 * ******************* * @param i * @param m * ******************* * @author:wind * 2014-8-10 下午7:07:25 * ******************* */ public static void testOne(int i,int m) { if(i < m) { System.out.println(i); //i++; i = i * 2; testOne(i, m); } }
一个小递归算法
时间: 2024-10-12 19:23:49