Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. object Permutations {
  2.  
  3. def main(args: Array[String]) {
  4. if (args.length != 1) {
  5. println("Usage: Permutations [num]")
  6. } else {
  7. print_permutations(args.head.toInt)
  8. }
  9. }
  10.  
  11. def permutations[T](lst: List[T]): List[List[T]] = lst match {
  12. case Nil => List(Nil)
  13. case x :: xs => permutations(xs) flatMap { perm =>
  14. (0 to xs.length) map { num =>
  15. (perm take num) ++ List(x) ++ (perm drop num)
  16. }
  17. }
  18. }
  19.  
  20. def print_permutations(n: Int) = {
  21. permutations((1 to n).toList) sortWith {
  22. case (xs, ys) => xs zip ys forall {
  23. case (a, b) => a < b
  24. }
  25. } foreach { lst =>
  26. lst foreach { elem =>
  27. print(s"$elem ")
  28. }
  29. println()
  30. }
  31. }
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement