Learn-c-by-examples-permutation-program-in-c

提供:Dev Guides
移動先:案内検索

Cの順列プログラム

順列は、セットメンバーを何らかの方法で配置または順序付けることができるいくつかの方法を指します。 n個の要素からk個の要素を並べる順列の式は-

  • 〜n〜P〜k〜= n!/(n-k)! *

アルゴリズム

このアルゴリズムは、階乗の詳細に入ることなく、順列にのみ焦点を当てています-

START
   Step 1 → Define values for n and r
   Step 2 → Calculate factorial of n and (n-r)
   Step 3 → Divide factorial(n) by factorial(n-r)
   Step 4 → Display result as permutation
STOP

疑似コード

このアルゴリズムは、単に以下の与えられた擬似コードに導出することができます-

procedure permutation()

   Define n and r
   P = factorial(n)/factorial(n-r)
   DISPLAY P

end procedure

実装

このアルゴリズムの実装は以下のとおりです-

#include <stdio.h>

int factorial(int n) {
   int f;

   for(f = 1; n > 1; n--)
      f* = n;

   return f;
}

int npr(int n,int r) {
   return factorial(n)/factorial(n-r);
}

int main() {
   int n, r;

   n = 4;
   r = 3;

   printf("%dp%d = %d \n", n, r, npr(n,r));

   return 0;
}

出力

プログラムの出力は次のようになります-

4p3 = 24