Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그램은 nCr 및 nPr을 찾습니다.

<시간/>

C 프로그래밍 언어에서 nCr 조합이라고 합니다. . nCr은 n개의 개체 집합에서 r개의 개체를 선택하는 것으로 개체의 순서는 중요하지 않습니다.

nPr 순열이라고 합니다. . nPr은 'n'개 개체의 집합에서 'r'개체를 배열한 것으로, 순서나 순서가 있어야 합니다.

순열 및 조합 공식

C 언어에서 주어진 숫자의 순열과 조합을 찾는 공식은 다음과 같습니다. -

  • nCr =n!/(r!*(n-r)!)
  • nPr =n!/(n-r)!.

nCr을 찾는 데 사용되는 논리는 다음과 같습니다. -

result = factorial(n)/(factorial(r)*factorial(n-r));

nPr을 찾는 데 사용되는 논리는 다음과 같습니다. -

result = factorial(n)/factorial(n-r);

예시

다음은 주어진 숫자의 순열과 조합을 찾는 C 프로그램입니다 -

#include <stdio.h>
long factorial(int);
long find_ncr(int, int);
long find_npr(int, int);
int main(){
   int n, r;
   long ncr, npr;
   printf("Enter the value of n and r\n");
   scanf("%d%d",&n,&r);
   ncr = find_ncr(n, r);
   npr = find_npr(n, r);
   printf("%dC%d = %ld\n", n, r, ncr);
   printf("%dP%d = %ld\n", n, r, npr);
   return 0;
}
long find_ncr(int n, int r) {
   long result;
   result = factorial(n)/(factorial(r)*factorial(n-r));
   return result;
}
long find_npr(int n, int r) {
   long result;
   result = factorial(n)/factorial(n-r);
   return result;
}
long factorial(int n) {
   int c;
   long result = 1;
   for (c = 1; c <= n; c++)
   result = result*c;
   return result;
}

출력

위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -

Enter the value of n and r
5 2
5C2 = 10
5P2 = 20