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

1 Answer

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

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

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

fun main() {
   	val n = 6

	println("Harmonic value: ${ getHarmonicValue(n) }")
	println("Harmonic value: ${ getHarmonicValueRecursion(n) }")
}


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

 



answered Nov 2, 2024 by avibootz
...