-
16장. 실력 다지기 연습문제 02) 문제 7 [순열과 조합]IT/솔루션) 난 정말C... 없다구요 2019. 4. 16. 08:05
<2016. 9. 21. 22:55>
16장. 실력 다지기 연습문제 02) 문제 7 [순열과 조합]
/* 순열과 조합의 결과를 출력하는 프로그램을 작성해보자. 단 아래의 조건을 모두 만족시켜야 한다. - 순열과 조합의 함수르 각각 정의하자. - 두 공식 모두 다음 수식을 많이 필요로 한다. 따라서 이를 별도의 함수로 정의하자. n! = n * (n-1) * (n-2) * ... * 1 - 조합 함수는 순열 함수를 호출하는 형태로 정의하자. */ #include<stdio.h> #include<stdlib.h> #pragma warning(disable : 4996) int Permutation(int n, int r); int Combination(int n, int r); int nnn(int n); int main(void) { int n, r; printf("총 개수와 선택할 수를 입력하시오. : "); scanf("%d %d", &n, &r); printf("총 %d개 중에서 %d개를 선택하는 경우의 수 중, 순열은 %ld, 조합은 %ld 입니다.\n",n,r, Permutation(n, r), Combination(n, r)); system("pause"); return 0; } // n! 구하는 함수 ( n * (n-1) * (n-2) * ..... 1 ) int nnn(int n) // n 15 전달받을경우 { int sum = 1; // 계를 저장할 수 long형으로 선언 for (n; n != 1; n--) // n부터 1까지 내려가면서 { sum *= n; // n을 sum에다가 곱해준다 } return sum; } int Permutation(int n, int r) { return nnn(n) / nnn(n - r); } int Combination(int n, int r) { return nnn(n) / (nnn(r)*nnn(n - r)); }
'IT > 솔루션) 난 정말C... 없다구요' 카테고리의 다른 글
16장. 실력 다지기 연습문제 02) 문제 9 [ 369게임의 결과 출력] (0) 2019.04.16 16장. 실력 다지기 연습문제 02) 문제 8 [연비 계산] (0) 2019.04.16 16장. 실력 다지기 연습문제 02) 문제 6 [가능한 수의 조합] (0) 2019.04.16 16장. 실력 다지기 연습문제 02) 문제 5 [언제 돈이 똑 떨어질까] (0) 2019.04.16 16장. 실력 다지기 연습문제 02) 문제 4 [소수의 출력] (0) 2019.04.16