Cプログラミング
 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

  1. Javaで商と剰余を見つけるプログラム

    Javaで商と剰余を見つけるためのコードは、次のとおりです- 例 public class Demo{    public static void main(String[] args){       int my_dividend = 11, my_divisor = 7;       int my_quotient = my_dividend / my_divisor;       int my_remainder = my_dividend % my_divisor;  

  2. Pythonでi、j、k個のx、y、z文字のサブシーケンスの数を見つけるプログラム

    「x」、「y」、「z」の文字列sがあるとすると、i個の「x」文字、j個の「y」文字、続いて続くサブシーケンスの数を見つける必要があります。 k個の「z」文字(i、j、k≥1)。 したがって、入力がs =xxyzの場合、出力は3になります。これは、2つのxyzと1つのxxyzを作成できるためです これを解決するには、次の手順に従います。 n:=sのサイズ x:=0、y:=0、z:=0 0からnの範囲のiの場合、実行 カウント:=0 s[i]がxと同じ場合、 x:=x * 2 x:=x + 1 s[i]がyと同じ場合、 y:=y