zoukankan      html  css  js  c++  java
  • 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;
            }
        }
    
    }

  • 相关阅读:
    Python--关于dict
    数据结构之线性表的实现
    js数据类型检测小结
    javascript的执行机制—Event Loop
    深入理解理解 JavaScript 的 async/await
    操作系统管理CPU的直观想法
    入门Promise的正确姿势
    javascript的数据类型转换
    JS预编译详解
    如何去封装一个Ajax库
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8360334.html
Copyright © 2011-2022 走看看