카테고리 없음

[백준] 11050 : 이항 계수 1(JAVA)

송테이토 2022. 11. 7. 14:38

이항 계수 1

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율

1 초 256 MB 40976 26492 22856 64.554%

문제

자연수 N\(N\)과 정수 K\(K\)가 주어졌을 때 이항 계수 (NK)\(\binom{N}{K}\)를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N\(N\)과 K\(K\)가 주어진다. (1 ≤ N\(N\) ≤ 10, 0 ≤ K\(K\) ≤ N\(N\))

출력

(NK)\(\binom{N}{K}\)를 출력한다.

예제 입력 1

5 2

예제 출력 1

10

이항계수란????

이항식을 이항 정리로 전개했을 때 각 항의 계수이며, 주어진 크기의 (순서 없는) 조합 의 가짓수이다.

팩토리얼 메서드 구현

package Day1104;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class B11050 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		int n = Integer.parseInt(st.nextToken());
		int r = Integer.parseInt(st.nextToken());

		// 이항계수 n!/r!(n-r)!
		System.out.println(fac(n) / (fac(r) * fac(n - r)));
	}

	// 팩토리얼 계산
	public static int fac(int a) {
		int result = 1;
		for (int i = 1; i <= a; i++) {
			result *= i;
		}
		return result;
	}

}

이항 계수 1

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율

1 초 256 MB 40976 26492 22856 64.554%

문제

자연수 N\(N\)과 정수 K\(K\)가 주어졌을 때 이항 계수 (NK)\(\binom{N}{K}\)를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N\(N\)과 K\(K\)가 주어진다. (1 ≤ N\(N\) ≤ 10, 0 ≤ K\(K\) ≤ N\(N\))

출력

(NK)\(\binom{N}{K}\)를 출력한다.

예제 입력 1

5 2

예제 출력 1

10

이항계수란????

이항식을 이항 정리로 전개했을 때 각 항의 계수이며, 주어진 크기의 (순서 없는) 조합 의 가짓수이다.

팩토리얼 메서드 구현

package Day1104;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class B11050 {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");
		int n = Integer.parseInt(st.nextToken());
		int r = Integer.parseInt(st.nextToken());

		// 이항계수 n!/r!(n-r)!
		System.out.println(fac(n) / (fac(r) * fac(n - r)));
	}

	// 팩토리얼 계산
	public static int fac(int a) {
		int result = 1;
		for (int i = 1; i <= a; i++) {
			result *= i;
		}
		return result;
	}

}