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

  • 相关阅读:
    java-数组
    java-条件判断和循环语句
    java-运算符
    python类与对象
    C#全角半角转换函数
    自己学会汉化DevExpress控件[转]
    DevExpress.XtraGrid的使用(部分)
    .Net 代码安全保护产品DNGuard HVM使用
    DataGridView 添加ComboBox
    c# 使用ChartDirector绘图的一些个人体会
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8360334.html
Copyright © 2011-2022 走看看