// a, b, c, d are HP if 1/a, 1/b, 1/c, 1/d are AP -> 1/a, 1/(a+diff), 1/(a+2*diff)...
package main
import (
"fmt"
)
func isHarmonicProgression(arr []float64) int {
size := len(arr)
if size == 1 {
return 1
}
difference := (1.0 / arr[1]) - (1.0 / arr[0])
for i := 2; i < size; i++ {
if (1.0/arr[i])-(1.0/arr[i-1]) != difference {
return 0
}
}
return 1
}
func main() {
arr := []float64{1.0 / 5, 1.0 / 10, 1.0 / 15, 1.0 / 20, 1.0 / 25}
if isHarmonicProgression(arr) == 1 {
fmt.Println("Yes")
} else {
fmt.Println("No")
}
}
/*
run:
Yes
*/