C 語言排列程式



排列是指在構建某種模式時,集合成員的排列或順序。從 n 個元素中排列 k 個元素的排列公式為 -

nPk = 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 
mathematical_programs_in_c.htm
廣告
© . All rights reserved.