How to check if a sequence of numbers is a Geometric progression (consecutive ratios are the same) in Scala

1 Answer

0 votes
import scala.util.control.Breaks._

object SequenceIsGeometricProgression_Scala {
  def isGeometricProgression(arr: Array[Int]): Boolean = {
    val size = arr.length

    if (size == 1) {
      return true
    }

    val ratio = arr(1) / arr(0)
    var result: Boolean = true;

    breakable { 
      for (i <- 1 until size) {
        if (arr(i) / arr(i - 1) != ratio) {
          result = false
          break
        }
      }
    }

    return result
  }

  def main(args: Array[String]): Unit = {
    val arr = Array(9, 27, 81, 243, 729, 2187)
    
    println(if (isGeometricProgression(arr)) "Yes" else "No")
  }
}



/*
run:

Yes

*/

 



answered Sep 21, 2024 by avibootz
...