如何在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 // 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的值。