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