如何在Swift中计算nPr的值
nPr被称为n个元素的排列数,其中n代表总数,r代表元素的排列。排列是指将元素按照指定的顺序排列。元素可以按照顺序或线性顺序排列,例如,我们有一个元素集合[2, 4],其排列为:[4, 2],[2, 4]
。在排列中,元素的顺序很重要,而在组合中,元素的顺序并不重要。
我们可以通过以下公式计算nPr的值:
公式
nPr = n!/(n - r)!
示例演示
这里,我们有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
// Function to calculate the factorial
func findFactorial(number: Int) -> Int
{
var fact = 1
for x in 1...number {
fact *= x
}
return fact
}
// Function to calculate 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
// Function to calculate the factorial
func findFactorial(number: Int) -> Int
{
if (number <= 1){
return 1
}
return number * findFactorial(number: number - 1)
}
// Function to calculate 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 的值。