• 7.23Java之递归练习


    7.23Java之递归练习

    需求

    使用递归计算1 - n之间的和

    实例图

    package PracticeReview.Recursion;

    /*
    使用递归计算1 - n之间的和
    */
    public class RecursionDemoNo2 {
       public static void main(String[] args) {
           int s = sum(3);
           System.out.println(s);
      }

       /*
       定义一个方法,使用递归j计算1-n之间的和
       1+2+3+...+n
       n+(n-1)+(n-2)+...+1
       已知:
       最大值:n
       最小值:1
           使用递归必须明确的条件:
           1、递归的结束条件
               获取到1的时候结束
           2、递归的目的
               获取下一个被加的数字(n-1)
        */
       public static int sum(int n){
           /*获取到1的时候结束*/
           //判断
           if (n==1){
               return 1;
          }

           /*获取下一个被加的数字*/
           return n + sum(n-1);
      }
    }
    方法执行原理分析图

    需求

    使用递归求n得阶乘:
    n! = n * (n-1) * (n-2) * (n-3) * ... * 3 * 2 * 1

    实例图

    package PracticeReview.Recursion;

    /**
    * 需求:
    * n! = n * (n-1) * (n-2) * (n-3) * ... * 3 * 2 * 1
    * 已知:
    * 起始值:n
    * 结束值:1
    * 递归的目的:
    * 获取下一个被乘的数字
    * @since JDK 1.8
    * @date 2021/07/23
    * @author Lucifer
    */
    public class RecursionDemoNo3 {
       public static void main(String[] args) {
           int jc = factorial(5);
           System.out.println(jc);
      }

       /**
        * 阶乘的方法
        * @param i
        * @return
        */
       public static int factorial(int i){
           //判断是否结束
           if (i==1){
               return i;
          }

           //获取下一个书
           return i * factorial(i-1);
      }
       /*
       使用递归明确两点:
       1、递归的结束条件
       2、递归的目的
       调用方法,方法的主题不变,参数改变
        */
    }

     

    It's a lonely road!!!
  • 相关阅读:
    linux signal之初学篇
    Eclipse 每次打开workspace目录记录位置?
    [Clojure] A Room-Escape game, playing with telnet and pure-text commands
    孔雀翎----《Programming C# 》中国版 文章4版
    js一些编写的函数
    KVM,QEMU核心分析
    apche commons项目简介
    java基础—网络编程———建立聊天的形式
    学习算法
    css+html+js实现多级下拉和弹出菜单
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15050244.html
Copyright © 2020-2023  润新知