zoukankan      html  css  js  c++  java
  • 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!!!
  • 相关阅读:
    Java实现 洛谷 P1009 阶乘之和
    Java实现 洛谷 P1009 阶乘之和
    mysql8.0 安装 修改密码 允许远程连接
    Starting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/vm10-0-0-19
    优秀c++开源项目集合
    可能是国内最火的开源项目 —— C/C++ 篇
    CodeBlocks环境搭建及创建第一个C++程序
    手动安装MySQL8.0
    【Linux】CentOS 7.4 安装 MySQL 8.0.12 解压版
    CentOS7下安装mysql5.7
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15050244.html
Copyright © 2011-2022 走看看