Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

PS/백준

[BOJ] 백준 11050 이항 계수 1 (Swift)

반응형

문제

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 NK가 주어진다. (1 ≤ N ≤ 10, 0 ≤ KN)

www.acmicpc.net

풀이

이항계수란 뭘까요?
(x+y)5=x5+5x4y+10x3y2+10x2y3+5xy4+y5
입니다.

이항계수는 다항식의 거듭제곱을 정리하였을 때, xnkyk의 계수를 뜻합니다

n이 5, k가 2라면?
10x3y2 이므로 10이겠죠??

또한, 이항계수는 n!k!(nk)!으로 구할 수 있습니다.

이 수식을 이용하면 답을 구할 수 있습니다.

소스코드

func factorial(_ n: Int) -> Int {
if n < 2 {
return 1
}
return n * factorial(n - 1)
}
let input = readLine()!.split(separator: " ").map { Int($0)! }
let n = input[0], k = input[1]
print(factorial(n) / (factorial(k) * factorial(n - k)))

후기

이항 계수가 뭔지 몰라서.. 검색해봤습니다.
이항 계수를 알고 있고 구하는 수식을 안다면 쉽게 풀 수 있는 문제입니다.

반응형