본문 바로가기

Java

Recursion 재귀함수(Factorial)

public class bucky {
  public static void main(String[] args) {
    System.out.println(bucky.fact(8l));

  }
  // Recursion
  public static long fact(long n) {
    if(n <= 1) return 1;
//아래는 recursion이 아님
    //    long fac=1;
//    while(n>1){
//      fac *= n;
//      n--;
//    }
//    return fac;
    else
      return n * fact(n-1);
    // n =5
    // 5 * f(4)
    //f(4) = 4* f(3)
    //f(3) = 3 * f(2)
    //f(2) = 2* f(1)
    //f(1) = 1
    // 5 * 4 * 3 * 2 * 1
    }
  }

'Java' 카테고리의 다른 글

자바의 신 ch.28 네트워크  (0) 2022.05.27
자바의 신 ch.27 NIO  (0) 2022.05.27
자바의 신 ch.26 i/o  (0) 2022.05.26
자바의 신 ch.25 Thread  (0) 2022.05.25
자바의 신 ch.24 Map  (0) 2022.05.24