Swift 程式查詢數字的調和平均數
本教程將討論如何編寫 Swift 程式來查詢數字的調和平均數。
調和平均數,也稱為 HM,定義為倒數的平均值的倒數。或者我們可以說調和平均數是其倒數的算術平均數的倒數。假設 a1、a2、a3、a4、.....an 是一個集合的 n 個元素,那麼調和平均數為 -
HM = n/[(1/a1) + 1/(a2) + 1/(a3) + 1/(a4)+...+ 1/(an)]
以下是相同內容的演示 -
輸入
假設我們給定的輸入為 -
MyVal = [3.4, 1.2, 7.8, 4.5, 2.4]
輸出
所需的輸出將為 -
Harmonic mean =
公式
以下是調和平均數的公式 -
HM = n/[(1/a1) + 1/(a2) + 1/(a3) + 1/(a4)+ …+ 1/(an)]
演算法
以下是演算法 -
步驟 1 - 建立一個包含值的陣列。
步驟 2 - 宣告一個變數來儲存元素倒數的總和。
步驟 3 - 執行一個從 0 到小於陣列大小的 for 迴圈。或者我們可以說遍歷每個元素並找到它們的倒數和。
for x in 0..<arrNums.count{
sum = sum + Double(1 / arrNums[x])
}
步驟 4 - 透過將陣列的大小除以元素倒數的總和來找到調和平均數。
var Harmonicmean = size/sum
步驟 5 - 列印輸出
示例 1
以下程式展示瞭如何查詢數字的調和平均數。
import Foundation import Glibc // Creating an array var arrNums = [2.0, 2.5, 3.2, 9.9, 6.2] print("Original Array:", arrNums) var sum : Double = 0.0 // Finding the reciprocal sum of all the // elements of the array for x in 0..<arrNums.count{ sum = sum + Double(1 / arrNums[x]) } var size = Double(arrNums.count) // Finding the harmonic mean var Harmonicmean = size/sum print("Harmonic Mean:", Harmonicmean)
輸出
Original Array: [2.0, 2.5, 3.2, 9.9, 6.2] Harmonic Mean: 3.390289235086014
在這裡,在上面的程式碼中,我們有一個雙精度型別的陣列。現在我們遍歷陣列的每個元素以找到元素倒數的總和,並將結果儲存到 sum 變數中,然後我們將陣列中存在的元素總數除以 sum 以找到調和平均數 -
for x in 0..<arrNums.count{
sum = sum + Double(1 / arrNums[x])
}
var Harmonicmean = size/sum
因此,上面程式碼的工作原理是 -
sum = 0.0
Size = 5.0
第 1 次迭代:sum = 0.0 + (1/ arrNums[0]) = 0 + (1/2.0) = 0.5
第 2 次迭代:sum = 0.5 + (1/ arrNums[1]) = 0 .5+ (1/2.5) = 0.9
第 3 次迭代:sum = 0.9 + (1/ arrNums[2]) = 0 .9+ (1/3.2) = 1.2125
第 4 次迭代:sum = 1.2125 + (1/ arrNums[3]) = 1.2125 + (1/9.9) = 0.5
第 5 次迭代:sum = 1.313510101010101 + (1/ arrNums[4]) = 1.313510101010101 + (1/6.2) = 1.4748004235907461
Sum = 1.4748004235907461
調和平均數 = Size/Sum= 5/1.4748004235907461 = 3.390289235086014
因此,陣列(即 [2.0、2.5、3.2、9.9、6.2])的調和平均數為 3.390289235086014。
示例 2
以下程式展示瞭如何查詢數字的調和平均數。
import Foundation import Glibc // Function to find the harmonic mean of the given array func arrayHarmoMean(arr: [Double]) -> Double{ let arrNums = arr var sum = 0.0 // Finding the reciprocal sum of all the // elements of the array for x in 0..<arrNums.count{ sum = sum + Double(1 / arrNums[x]) } let size = Double(arrNums.count) // Finding the harmonic mean return size/sum } // Creating an array of double type var arrVals = [2.6, 7.89, 2.89, 0.3, 2.34] print("Original Array:", arrVals) print("Harmonic Mean:", arrayHarmoMean(arr: arrVals))
輸出
Original Array: [2.6, 7.89, 2.89, 0.3, 2.34] Harmonic Mean: 1.0827051109274841
在這裡,在上面的程式碼中,我們有一個名為 arrVals 的雙精度型別陣列。現在要找到 arrVals 的調和平均數,我們建立一個名為 arrayHarmoMean() 的函式。此函式將返回調和平均數。因此,結果調和平均數為 1.0827051109274841。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP