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 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告