컴공댕이 공부일지
[ java ] 백준 ( 11050 이항계수 1 ) ★팩토리얼 재귀함수 / 이항정리 본문
728x90
백준 11050 이항계수 1
브론즈 1
https://www.acmicpc.net/problem/11050
11050번: 이항 계수 1
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
사실 위 문제는 단순히 그냥 nCk 구하기만 하면 되는 문제이다.
근데 확통 너무 오랜만이라 순열 조합조차 새로워서...ㅎㅎ
이항 정리에 대해 간단히 알아보았다.
이항정리

또한 순열 식을 계산해 출력하기 위해서 팩토리얼을 계산해야 하는데,
이 때 재귀 함수를 활용했다! :)
팩토리얼은 재귀 함수 계산 예제로 매번 나오는 기초기에..ㅎㅎ
가볍게 구현해보았다.
정답코드
import java.util.Scanner;
public class Main {
//팩토리얼 계산 메소드 #재귀 함수
static int factorial(int n) {
if(n==1) {
return n;
} if(n==0) { // 0! = 1
return 1;
}else {
return n*factorial(n-1);
}
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n=s.nextInt(); //n값 입력받기
int k=s.nextInt(); //k값 입력받기
int ans = factorial(n)/(factorial(n-k)*factorial(k));
System.out.println(ans);
}
}728x90
'PS > 코딩 문제 풀이 모음' 카테고리의 다른 글
| [ java ] 프로그래머스 ( 42748 K번째 수 ) ⭐배열의 복사 / 정렬 [copyArray, copyOf, copyOfRange 총 정리] (0) | 2023.05.09 |
|---|---|
| [java] 프로그래머스 (12906 같은 숫자는 싫어) 💥💦 (0) | 2023.05.04 |
| [java] 백준 ( 2292 벌집 ) (0) | 2023.04.28 |
| [java] 백준 ( 2869 달팽이는 올라가고 싶다 ) (0) | 2023.04.18 |
| [java] 백준 ( 1157 단어공부 ) 아스키 코드 활용 (0) | 2023.04.07 |