on
백준 10872번 문제풀이 - 팩토리얼
백준 10872번 문제풀이 - 팩토리얼
백준 10872번 문제
https://www.acmicpc.net/problem/10872
재귀를 사용하여 문제를 풀어보았다.
재귀란
어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라고 한다.
팩토리얼 계산은 N까지라고 할 때
1~N까지 곱한 것을 말하기 때문에
9!의 경우 9×8!으로 구할 수 있다. 이를 이용하여 재귀 메소드를 만들어 코딩했다.
코딩
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Factorial { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 입력 System.out.println(factorial(N)); // 출력 } // 팩토리얼을 구하는 메서드 static int factorial(int n) { if (n > 0) { return n * factorial(n-1); // n이 1이될 때까지 재귀 } else { return 1; // 0! = 1 } } }
결과
느낀 점
재귀라는 말 자체는 쉽게 이해가 되지만 좀 더 난이도가 있는 문제거나 실제 활용하는 것에 있어서는 잘 생각해나여 적용할 수 있을지는 의문이다. 좀 더 익숙해질 필요가 있고 자주 사용해보려고 노력해야겠다는 생각이 든다.
from http://chobojonghyun.tistory.com/25 by ccl(A) rewrite - 2021-11-27 16:02:18