Algorithm/문제 풀이 / / 2020. 1. 27. 17:54

[JUNGOL_1309 - JAVA] 팩토리얼

반응형

1309 : 팩토리얼

제한시간1000 ms    메모리제한32 MB    해결횟수2121 회    시도횟수6177 회    

문제

1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다.

0! = 1
1! = 1
2! = 2
n! = n * (n-1)!

와 같이 정의된다.

 

예로 4! = 4×3×2×1 = 24 이다.

 

n! 이 주어졌을 때 결과를 출력하는 프로그램을 작성하라.

* 결과가 int범위를 넘는 경우
long long 입력/출력 서식문자 %lld
를 사용한다.

 

입력형식

입력은 한 줄로 이뤄지며 팩토리얼의 숫자 n(1≤n≤15)이 입력된다.

 

출력형식

n!에 대한 계산 결과를 "출력예"처럼 과정을 출력하고 마지막에 결과를 출력한다.

 

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		System.out.println(fact(N));

	}

	// 팩토리얼 재귀함수
	private static long fact(int n) { // int형은 13!부터 범위를 벗어남

		if (n <= 1) { // 1일때 리턴
			System.out.println("1! = 1"); // 조건을 위한 출력
			return n;
		} else { // fact 호출을 통한 팩토리얼 구현
			System.out.println(n + "! = " + n + " * " + (n - 1) + "!"); // 조건을 위한 출력
			return fact(n - 1) * n;
		}

	}

}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=589&sca=2080

 

JUNGOL | 팩토리얼 > 문제은행

n!에 대한 계산 결과를 "출력예"처럼 과정을 출력하고 마지막에 결과를 출력한다.

www.jungol.co.kr

 

반응형

'Algorithm > 문제 풀이' 카테고리의 다른 글

[JUNGOL_1697 - JAVA] 큐(queue)  (0) 2020.01.27
[JUNGOL_1102 - JAVA] 스택  (0) 2020.01.27
[JUNGOL_2604 - JAVA] 그릇  (0) 2020.01.25
[JUNGOL_2813 - JAVA] 소수의 개수  (0) 2020.01.25
[JUNGOL_2809 - JAVA] 약수  (0) 2020.01.25
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유