递归-大的数据类型不建议用递归

  • A方法调用B方法,我们很容易理解!
  • 递归就是:A方法调用A方法! 就是我们自己调用就

 

  • 利勇递归可以用简单的程序来解决一些复杂的问题。他通常把一个大型负责的问题层层转化为一个与原问题相似的规模小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于有有限的语句来定义对象的无限集合。

 

  • 递归结构包括两个部分:
  • 递归头:  什么时候不调用自身方法。如果没有头,将陷入死循环。
  • 递归体:什么时候需要调用自身方法。
 1 package com.xl.method;
 2 
 3 import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
 4 
 5 public class Demo06 {
 6     /** 阶乘
 7      *   2! 为 2*1
 8      *   3!为 3*2*1
 9      *   4!为 4*3*2*1
10      *  // 5!为 5*4*3*2*1
11      */
12     public static void main(String[] args) {
13         System.out.println("阶乘结果:"+ f(100));//赋值f(n) n为几
14 
15     }
16     //1! 1
17     //2! 2*1
18     // 5!为 5*4*3*2*1
19     public static double f(double n ){
20         if (n==1){//n等于1
21             return 1;//就停止循环
22         }else {//否侧
23             System.out.println("每次f(n-1)循环为:"+n);//n等于1 就会结束循环
24             return n*f(n-1);//n不等于1 每次循环n-1 n*f(n-1)
25 
26         }
27 
28     }
29 
30 
31 }

 

posted @ 2022-02-26 22:24  苏三说v  阅读(144)  评论(0编辑  收藏  举报