[BOJ/백준] C++ 11050 이항 계수 1 풀이 (반복문 사용)

minjgziii·2022년 7월 30일
0

문제

풀이


(출처 : 나무위키)

코드

include<bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int N = 1;
	int K = 1;

	cin >> N >> K;
	
	int denom = 1; // 분모
	int numer = 1; // 분자
	
	for (int i{ N }; i >= 1; i--) {
		denom *= i;
	}
	
	for (int i{ K }; i >= 1; i--) {
		numer *= i;
	}

	for (int i{ N - K }; i >= 1; i--) {
		numer *= i;
	}

	cout << denom / numer;
}

더 좋은 풀이

#include<iostream>
using namespace std;

int Factorial(int num) {
	if (num == 0)
		return 1;
	int result = 1;

	for (int i = num; i >= 1; i--) {
		result *= i;
	}

	return result;
}

int main() {
	int n, k;

	cin >> n >> k;

	cout << Factorial(n) / (Factorial(k) * Factorial(n - k));

	return 0;
}

이외에 재귀함수를 사용하여 푸는 방법도 있다.

출처 : https://blockdmask.tistory.com/93

profile
티스토리로 이사갑니당

0개의 댓글