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。

更新於: 2022年10月20日

241 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.