- 使用示例瞭解 C 語言
- 使用示例瞭解 C 語言 - 主頁
- C 語言示例 - 簡單程式
- C 語言示例 - 迴圈/ 迭代
- C 語言示例 - 模式
- C 語言示例 - 陣列
- C 語言示例 - 字串
- C 語言示例 - 數學
- C 語言示例 - 連結串列
- C 語言程式設計實用資源
- 使用示例瞭解 C 語言 - 快速指南
- 使用示例瞭解 C 語言 - 資源
- 使用示例瞭解 C 語言 - 討論
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
廣告