본문 바로가기
백준

[백준] 단계별로 풀어보기(단계:10,재귀,JAVA)10872번, 팩토리얼

by 열정적인 이찬형 2022. 1. 7.

문제 링크

10872번: 팩토리얼
 
www.acmicpc.net

주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

문제 설명


접근 방법

기본적인 팩토리얼의 정의는 숫자보다 작은 자연수의 곱의 합입니다.

예를 들어 5!이면 5×4×3×2×1로 5팩토리얼은 120이 됩니다.

  • BufferedReader를 사용하여 입력 값을 받았습니다.
  • 팩토리얼 값을 구하는 factorial함수를 만들었습니다.
  • 재귀를 통해서 factorial함수를 반복하여 팩토리얼을 구하였습니다.
  • bw에 함수 결과를 저장하였습니다.
  • BufferedWriter를 통해 저장된 결과를 출력하였습니다.

결과 코드

import java.io.*;
public class Main{
	public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader를 통해 입력 값 받기
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
       	//BufferedWriter를 통해 결과 출력
    	int num = Integer.parseInt(br.readLine());	//숫자 받기
    	bw.write(factorial(num) + "\n");	//함수 결과 bw에 저장
    	bw.flush();
    	bw.close();
    	br.close();	
	}
	public static int factorial(int n) {	//팩토리얼 구하는 함수
		if(n>1)
			return n*factorial(n-1);
		else
			return 1;
	}
}
 

댓글