📜  11. 编写一个程序,使用 n Cr 和 n Pr 的递归公式计算输入值 n 和 r 的排列和组合. (1)

📅  最后修改于: 2023-12-03 15:13:05.578000             🧑  作者: Mango

计算排列和组合的递归程序

介绍

这是一个使用递归公式计算组合数和排列数的程序。输入两个整数n和r,程序将返回它们的组合数和排列数。

在组合数和排列数中,n是事物的总数,r是选择元素的数量。

在此程序中,我们使用了递归公式nCr和nPr,其中nCr表示n个元素中取r个元素的组合数,nPr表示n个元素中取r个元素的排列数。

通过这个程序,你将学习到如何使用递归公式计算组合数和排列数的过程和方法。

代码

以下是该程序的Python实现代码:

def nCr(n, r):
    if n == r or r == 0:
        return 1
    else:
        return nCr(n-1, r-1) + nCr(n-1, r)

def nPr(n, r):
    if n == r or r == 0:
        return 1
    else:
        return n * nPr(n-1, r-1)

n = int(input("Enter n: "))
r = int(input("Enter r: "))

print("nCr = ", nCr(n, r))
print("nPr = ", nPr(n, r))
使用

运行程序,并输入n和r的值,程序将自动计算并返回它们的组合数和排列数。

下面是一个示例:

Enter n: 5
Enter r: 3
nCr =  10
nPr =  60

这表明,在5个元素中取3个元素的组合数为10,取3个元素的排列数为60。

你可以通过更改输入值和/或修改程序来测试不同的情况并进行实验。

结论

通过这个程序,你学习了如何使用递归公式计算组合数和排列数,并了解了这些数学概念的作用。

此外,你还学习了如何使用Python编写递归函数来计算组合数和排列数,并在程序中实现了相应的递归公式。

这将有助于提高你的编程技能和对数学概念的理解。