์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

11050 JAVA ์ดํ•ญ ๊ณ„์ˆ˜ 1

chaerlo127 2022. 8. 29. 00:13
728x90

์กฐํ•ฉ ๊ณต์‹ nCr์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด๋œ๋‹ค. ์ด ๋•Œ, ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด factorial ์„ Iteration์ด ์•„๋‹Œ ์žฌ๊ท€๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

 

ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•์— ๋Œ€ํ•ด ์•„์ง ์ž์„ธํžˆ ์•Œ์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ, ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

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

public class Main {

	public static void main(String[] args) {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		try {
			StringTokenizer st = new StringTokenizer(bf.readLine(), " ");
			int n = Integer.parseInt(st.nextToken());
			int k = Integer.parseInt(st.nextToken());
			
			System.out.println(factorial(n)/(factorial(k)*factorial(n-k)));
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static int factorial(int a) {
		if(a <= 1) return 1;
		else return a*factorial(a-1);
	}

}
728x90