zoukankan      html  css  js  c++  java
  • 简单的数据整理, 递归算法

      今天接触了一下递归, 一开始听的时候不知道啥意思, 只是按照答案代码抄下来, 就能实现自己的目的, 在网上看了一下感觉也不是很难理解

      但是说实话要是想用的很熟练, 就不是一件简单的事情了

      首先来看一段代码, 求一个数字的阶乘的

    public class qqq {
    //计算一个数字的阶乘
        private static int fact(int a) {
            //1的阶乘本来就是1, 这里直接返回
            if(a==1) {
                return a;
            }
            else {
                return (a * fact(a-1));
            }
        }
        public static void main(String[] args) {
            System.out.println(fact(6));
        }
    }

    递归在很大程度上类似于循环, 但又不是循环, 递归是有去有回, 循环是有去无回, 很多情况下递归可以是代码更简单, 也更让人容易理解(这点倒是真没发现...),

    再看一下这张图片

    这就是用递归算法算一个数字的阶乘的过程图

    原理就是

    6的阶乘==6乘以5的阶乘

    5的阶乘==5乘以4的阶乘

    4的阶乘==4乘以3的阶乘

    3的阶乘==3乘以2的阶乘

    2的阶乘==2乘以1的阶乘

    1的阶乘==1

    依次往上就有了这么个东西:

    6的阶乘==6乘以5乘以4乘以3乘以2乘以1............

    于是6的阶乘就算出来了

  • 相关阅读:
    Java-WebDriver模块
    Java-数据类型(八中基本数据类型)
    Java基础
    Java介绍
    Eclipse介绍
    Jmeter-服务器监控技术
    性能测试
    Jmeter-相关字段含义
    Jmeter-监听器
    Jmeter-BeanShell组件应用
  • 原文地址:https://www.cnblogs.com/wgbs25673578/p/5061915.html
Copyright © 2011-2022 走看看