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;
            }
        }
    
    }

  • 相关阅读:
    redis分布式锁
    pod资源清单
    zookeeper
    [置顶]【WP】 Writeup for SJTU-CTF ,被同级大佬和学长联合虐爆
    魔术师猜数【更优解】
    数学基础之线代
    向量是什么?
    矩阵与线性变换
    线性组合、张成的空间、基
    线性代数的本质
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8360334.html
Copyright © 2011-2022 走看看