如何在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的值。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP