백준 - 팩토리얼 2( 27433번, JAVA )

changi123·2025년 3월 6일
post-thumbnail

math ( https://www.acmicpc.net/problem/27433 )

풀이

  • 사실 브론즈5 문제라서 올릴까 했지만 🙄 기초문제이니 한문제씩 전부 다 정리해보자 🚀
  • 수학적으로 팩토리얼을 구현하기 때문에 원래 처음 자바를 했을때라면 for문을 활용했겠지만 이제 재귀에도 가까워보자
  • fac 메소드를 호출 시 ex) n == 3 일때
  • 3 x fac(2)
  • 3 x 2 x fac(1)
    -> 결과적으로 스택에 쌓인 값들을 역으로 1 x 2 x 3 순서로 실행하여 반환
package problem_solving.math;

import java.util.Scanner;

public class BaekJoon_27433 {
	public static Long fac(Long n) {
		if( n == 1 || n == 0 ) {
			return (long) 1; 
		}else {
			return n * fac(n-1);
		}
		
	}

	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		Long n = Long.parseLong(sc.next());
		System.out.println(fac(n));
	}


}


profile
개발자 홍찬기 꾸준한 사람이 되자

0개의 댓글