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