백준 알고리즘
[Bronze I] 이항 계수 1 - 11050
성능 요약
메모리: 13152 KB, 시간: 0 ms
분류
수학, 구현, 조합론
문제 설명
자연수
입력
첫째 줄에
출력
음악 들으면서 같이 공부해요
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use std::io::{BufReader,BufRead,BufWriter,Write,stdin,stdout};
fn main(){
let mut reader= BufReader::new(stdin().lock());
let mut writer=BufWriter::new(stdout().lock());
let mut input = String::new();
reader.read_line(&mut input).unwrap();
let v: Vec<i32>= input.trim().split_whitespace().map(|x|x.parse().unwrap()).collect();
let n= v[0];
let k= v[1];
writeln!(writer,"{}",factorial(n)/(factorial(k)*factorial(n-k))).unwrap();
writer.flush().unwrap();
}
//n! / (k!(n-k)!
fn factorial(n:i32)->i32{
//입력받은 수가 1이거나 0이면 1을 반환
if n==1||n==0{
return 1;
//아니라면
//example : 5 *4 * 3 * 2 * 1 이댐
//example :2 * 1
//example :3 *2 * 1
}else{
factorial(n-1)*n
}
}