Advertisement
Guest User

Untitled

a guest
Jul 19th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.46 KB | None | 0 0
  1.   def choose(n: Int, c: Int): Set[Set[Int]] =
  2.     if (c == 0)
  3.       Set(Set())
  4.     else {
  5.       val rec: Set[Set[Int]] = choose(n, c - 1)
  6.       1.to(n).flatMap(i => rec.map(_ + i).filter(_.size == c)).toSet
  7.     }
  8.   def main(args: Array[String]): Unit = {
  9.     val xs = choose(7, 4)
  10.     val xss = for (x <- xs; y <- xs; z <- xs) yield List(x, y, z)
  11.     println(xss.size)
  12.     val answer = xss.filter(e => (e(0) ++ e(1) ++ e(2)).size ==7)
  13.     println(answer.size)
  14.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement