C 语言中的排列程序
排列是指集合成员可以以某种方式排列或排序的方式数。从 n 个元素中排列 k 个元素的排列公式为 −
nPk = n! / (n - k)!
算法
此算法仅关注排列,而不涉及阶乘的细节 −
开始 步骤 1 → 定义 n 和 r 的值 步骤 2 → 计算 n 和 (n-r) 的阶乘 步骤 3 → 将阶乘 (n) 除以阶乘 (n-r) 步骤 4 →将结果显示为排列 停止
伪代码
此算法可以简单地推导出下面给出的伪代码 −
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, r, npr(n,r)); return 0; }
输出
程序的输出应为 −
4p3 = 24
mathematical_programs_in_c.html