Sha256: 5ac8d7fada2fa046b2ba116700facef4f3b34d9c4fb800a3b828481b8da76037

Contents?: true

Size: 517 Bytes

Versions: 254

Compression:

Stored size: 517 Bytes

Contents

case class PalindromeProducts(minFactor: Int, maxFactor: Int) {

  lazy val (smallest: (Int, Set[(Int, Int)]),
            largest: (Int, Set[(Int, Int)])) = {
    val palindromes = for (a <- Range(minFactor, maxFactor + 1);
         b <- Range(a, maxFactor + 1) if isPalindrome(a * b)) yield (a * b, (a, b))
    val mapped = palindromes.groupBy(_._1).map{case(k, v) => (k, v.map(_._2).toSet)}
    (mapped.minBy(_._1), mapped.maxBy(_._1))
  }

  private def isPalindrome(i: Int) = i.toString == i.toString.reverse
}

Version data entries

254 entries across 254 versions & 1 rubygems

Version Path
trackler-2.2.1.36 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.35 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.34 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.33 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.32 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.31 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.30 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.29 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.28 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.27 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.26 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.25 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.24 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.23 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.22 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.21 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.20 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.19 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.18 tracks/scala/exercises/palindrome-products/example.scala
trackler-2.2.1.17 tracks/scala/exercises/palindrome-products/example.scala