import scala.util.control.Breaks._
object SequenceIsHarmonicProgression_Scala {
def isHarmonicProgression(arr: Array[Double]): Boolean = {
val size = arr.length
if (size == 1) return true
val difference = (1.0 / arr(1)) - (1.0 / arr(0))
var result: Boolean = true
breakable {
for (i <- 2 until size) {
if ((1.0 / arr(i)) - (1.0 / arr(i - 1)) != difference) {
result = false
break
}
}
}
return result
}
def main(args: Array[String]): Unit = {
val arr = Array(1.0 / 5, 1.0 / 10, 1.0 / 15, 1.0 / 20, 1.0 / 25)
println(if (isHarmonicProgression(arr)) "Yes" else "No")
}
}
/*
run:
Yes
*/