Advertisement
Ladies_Man

lab1 not wotking

Feb 27th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.77 KB | None | 0 0
  1. val fib: (Int) => List[Int] = {
  2. case (0) => List(1)
  3. case (1) => 1 :: fib(0)
  4. case (x) => (fib(x-1)(0) + fib(x-2)(0)) :: fib(x-1)
  5. }
  6.  
  7. val sort_top: (List[Int], Int) => List[Int] = {
  8. case (x :: xs, a) if(x < a) => x :: sort_top(xs, a)
  9. case (x :: xs, a) => sort_top(xs, a)
  10. }
  11.  
  12. val sort_pred: (List[Int], Int => Boolean) => List[Int] = {
  13. case (x :: xs, p) if(p(x)) => x :: sort_pred(xs, p)
  14. case (x :: xs, p) => sort_pred(xs, p)
  15. }
  16.  
  17. val main: (Int, Int => Boolean) => List[Int] = {
  18. case (n, p) => sort_pred(sort_top(fib(n), n), p)
  19. }
  20.  
  21. val chk: (Int, Int => Boolean) => List[Int] = {
  22. case (x, p) if (p(x)) => (fib(x)(0)) :: chk(x-1, p)
  23. case (x, p) => chk(x, p)
  24. }
  25.  
  26. case x => (fib(x-1)(0) + fib(x-2)(0)) :: fib(x-1)
  27. case x => ((x :: fib(x-1)) + (x :: fib(x-2))) :: fib(x-1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement