How to find the harmonic value of N (1 + 1/2 + 1/3 + ... 1/N) in Swift

1 Answer

0 votes
// harmonic value of N  = (1 + 1/2 + 1/3 + ... 1/N)

func getHarmonicValue(_ n: Int) -> Double {
    var hv: Double = 0.0
    
    for i in 1...n {
        hv += 1.0 / Double(i)
    }
    
    return hv
}

func getHarmonicValueRecursion(_ n: Int) -> Double {
    if n == 1 {
        return 1.0
    } else {
        return 1.0 / Double(n) + getHarmonicValueRecursion(n - 1)
    }
}


let n = 6

print("Harmonic value: \(getHarmonicValue(n))")
print("Harmonic value: \(getHarmonicValueRecursion(n))")


 
/*
run:
 
Harmonic value: 2.4499999999999997
Harmonic value: 2.4499999999999997
 
*/

 



answered Nov 2, 2024 by avibootz
...