java算法面试题:递归算法题1

递归算法题1

一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。例:n=1237则输出为:1237,2474,4948,9896,9896,4948,2474,1237,

提示:写程序时,先致谢按递增方式的代码,写好递增的以后,再增加考虑递减部分。

package com.swift;public class Digui_Dizeng_Dijian {    public static void main(String[] args) {        /*         * 一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。 例:n=1237 则输出为:         * 1237, 2474, 4948, 9896, 9896, 4948, 2474, 1237,         */        int n = 1237;        dizeng(n);        System.out.println(sum(100));    }    //无返回值递归    public static void dizeng(int n) {        System.out.println(n);        if(n>9000) {            dijian(n);        }        if (n < 5000) {            dizeng(n * 2);        }    }    public static void dijian(int n) {        System.out.println(n);        if(n==1237) {            System.exit(0);        }else {            dijian(n/2);        }    }    //有返回值递归    public static int sum(int num) {        if (num > 1) {            return num + sum(num - 1);        } else {            return 1;        }    }}

享受每一刻的感觉,欣赏每一处的风景,这就是人生。

java算法面试题:递归算法题1

相关文章:

你感兴趣的文章:

标签云: