如何在 Swift 中计算 nPr 的值?
nPr 称为 n 排列 r,其中 n 表示总数,r 表示元素的排列。排列是指元素按指定顺序排列。元素可以按顺序排列,也可以按线性顺序排列,例如,我们有一组元素 [2, 4],因此排列为:[4, 2], [2, 4]。在排列中,元素的顺序很重要,而在组合中,元素的顺序并不重要。
我们可以借助以下公式计算 nPr 的值:
公式
nPr = n!/(n - r)!
示例演示
输入 1
n = 10 , r = 5
输出
输入
n = 8 , r = 4
输出
这里,我们有 n = 10 和 r = 5,因此 nPr 的值是 30240。同样,n = 8 和 r = 4,因此 nPr 的值为 1680。
算法
步骤 1 − 创建一个函数来查找给定数字的阶乘。
步骤 2 − 创建另一个函数,根据给定公式计算 nPr。
步骤 3 − 声明两个变量来存储 N 和 R 的值。
步骤 4 − 现在调用 nPr 函数并将 N 和 R 传递给它。
步骤 5 − 显示输出。
示例
在下面的 Swift 程序中,我们计算 nPr 的值。因此,我们首先创建一个名为 findFactorial() 的函数来计算指定数字的阶乘。然后将创建另一个名为 calculateNPR() 的函数来查找给定 nPr 的值。在这个函数中,我们首先检查 n 和 r 的值是否有效。如果无效,则返回 −1,表示 n 或 r 的值无效。如果 n 和 r 的值有效,则我们将使用给定的公式找到 nPr 的值并返回 nPr 的最终值。在这里,为了找到阶乘,我们将使用 findFactorial() 函数。
import Foundation import Glibc // 计算阶乘的函数 func findFactorial(number: Int) -> Int { var fact = 1 for x in 1...number { fact *= x } return fact } // 计算 nPr 的函数 func calculateNPR(n: Int, r: Int) -> Int { if n < 0 || r < 0 || r > n { return -1 } let numerator = findFactorial(number:n) let denominator = findFactorial(number: n - r) let nPr = numerator / denominator return nPr } // Test case let N = 10 let R = 5 let resultantNPR = calculateNPR(n: N, r:R) if resultantNPR != -1 { print("\(N)P\(R):", resultantNPR) } else { print("Please enter a valid input") }
输出
10P5: 30240
示例
在下面的 Swift 程序中,我们计算 nPr 的值。因此,我们首先创建一个名为 findFactorial() 的函数来计算指定数字的阶乘。然后创建另一个名为 calculateNPR() 的函数来查找给定 nPr 的值。在此函数中,我们将使用给定的公式查找 nPr 的值并返回 nPr 的最终值。在这里,我们将使用 findFactorial() 函数来查找给定数字的阶乘。
import Foundation import Glibc // 计算阶乘的函数 func findFactorial(number: Int) -> Int { if (number <= 1){ return 1 } return number * findFactorial(number: number - 1) } // 计算 nPr 的函数 func calculateNPR(n: Int, r: Int) -> Int { let nPr = findFactorial(number: n)/findFactorial(number: n-r) return nPr } // Test case let N = 6 let R = 3 let resultantNPR = calculateNPR(n: N, r:R) print("\(N)P\(R):", resultantNPR)
输出
6P3: 120
nPr 的实际用途
nPr 值的实际用途是:
您可以使用 nPr 来计算安全密码。
使用 nPr 您可以安排座位。
使用 nPr 您可以找到游戏或彩票中的可能组合。
它还可用于创建安全加密算法。
结论
这就是我们计算 nPr 值的方法。nPr 通常用于计数排列、概率、组合分析、重复排列等。它是数字或元素排列的一种方式。因此您可以使用上述任何一种方法来计算 nPr 的值。