반응형
오늘도 기본 중에 기본인 팩토리얼 알고리즘을 짜보았습니다.
일단 팩토리얼에 대해 설명하겠습니다.
팩토리얼(n!)
계승이라는 이름과 팩토리얼이라는 이름 두 가지를 가지고 있습니다.
우리는 팩토리얼이 더 친숙합니다.
1에서 n까지 양의 정수를 모두 곱한 값을 n 팩토리얼 또는 n계승이라고 합니다.
단, 0!는 0으로 약속합니다.
문제
사실 문제는 정말 간단합니다.
그냥 n팩토리얼을 구하는 알고리즘을 작성하시면 됩니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import java.util.Scanner; public class Beak10872 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // int result = 1; /* * for(int i=1;i<=n;i++) { * * result *=i; } */ int result = factorial(n); System.out.println(result); } public static int factorial(int number) { if (number == 1) return 1; else return number * factorial(number - 1); } } | cs |
해석
두 가지로 풀었습니다. 재귀와 그냥 for문 사용
재귀함수로 풀게 되면 역시나 시간이 많이 걸립니다.
그래서 그냥 간단하게 for문으로 풀었고 알맞게 답이 나왔습니다.
따로 설명은 필요 없을 듯 합니다.
반응형
사업자 정보 표시
난길샵 | 박현숙 | 경상북도 성주군 월항면 수죽길 98길 | 사업자 등록번호 : 256-07-01668 | TEL : 010-9909-8420 | Mail : skr04@naver.com | 통신판매신고번호 : 제2020-경북성주-52호 | 사이버몰의 이용약관 바로가기
'Project > Algorithm' 카테고리의 다른 글
[백준 알고리즘] 2407번(조합) (0) | 2017.09.01 |
---|---|
[백준 알고리즘] 1676번(팩토리얼 0의 개수) (0) | 2017.08.31 |
[백준 알고리즘] 11051번(이항 계수Ⅱ) (0) | 2017.08.28 |
[백준 알고리즘] 11050번(이항 계수Ⅰ) (0) | 2017.08.25 |
[백준 알고리즘] 1003번(피보나치 수열4) (0) | 2017.08.23 |
댓글