Created
May 5, 2013 22:00
-
-
Save macobo/5522354 to your computer and use it in GitHub Desktop.
Calculating coin change in python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ((lambda f:(lambda x: f(lambda v: x(x)(v)))(lambda x: f(lambda v: x(x)(v))))(lambda rec: lambda amount: lambda coins: lambda taken:((lambda boolean: boolean)((lambda a: lambda b:((lambda a: lambda b:((lambda boolean: boolean)(a)(b)((lambda a: lambda b: b))))((lambda a: lambda b:((lambda num: num(lambda x:((lambda a: lambda b: b)))((lambda a: lambda b: a)))((lambda a: lambda b: b((lambda num: lambda f: lambda x: num(lambda g: lambda h: h(g(f)))(lambda y: x)(lambda y: y)))(a))(a)(b))))(a)(b))((lambda a: lambda b:((lambda num: num(lambda x:((lambda a: lambda b: b)))((lambda a: lambda b: a)))((lambda a: lambda b: b((lambda num: lambda f: lambda x: num(lambda g: lambda h: h(g(f)))(lambda y: x)(lambda y: y)))(a))(a)(b))))(b)(a))))(amount)((((lambda f:(lambda x: f(lambda v: x(x)(v)))(lambda x: f(lambda v: x(x)(v))))(lambda rec: lambda f: lambda init: lambda lst:((lambda boolean: boolean)(((lambda pair: pair((lambda a: lambda b: a))))(lst))(init)(lambda x: f((lambda lst:((lambda pair: pair((lambda a: lambda b: a)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst))(rec(f)(init)((lambda lst:((lambda pair: pair((lambda a: lambda b: b)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst)))(x)))))((lambda a: lambda b: a((lambda num: lambda f: lambda x: f(num(f)(x))))(b)))((lambda f: lambda x: x)))(taken)))(taken)((lambda boolean: boolean)(((lambda pair: pair((lambda a: lambda b: a))))(coins))(((lambda head: lambda tail: lambda f: f(head)(tail))((lambda a: lambda b: a))((lambda a: lambda b: a))))(lambda x:((lambda a: lambda b:((lambda boolean: boolean)((lambda a: lambda b:((lambda boolean: boolean)(a)((lambda a: lambda b: a))(b)))(((lambda pair: pair((lambda a: lambda b: a))))(b))((lambda a: lambda b:((lambda boolean: boolean)(a)(b)((lambda a: lambda b: b))))((lambda a:((lambda boolean: boolean)(a)((lambda a: lambda b: b))((lambda a: lambda b: a))))(((lambda pair: pair((lambda a: lambda b: a))))(a)))((lambda a: lambda b:((lambda num: num(lambda x:((lambda a: lambda b: b)))((lambda a: lambda b: a)))((lambda a: lambda b: b((lambda num: lambda f: lambda x: num(lambda g: lambda h: h(g(f)))(lambda y: x)(lambda y: y)))(a))(a)(b))))((((lambda f:(lambda x: f(lambda v: x(x)(v)))(lambda x: f(lambda v: x(x)(v))))(lambda rec: lambda f: lambda init: lambda lst:((lambda boolean: boolean)(((lambda pair: pair((lambda a: lambda b: a))))(lst))(init)(lambda x: f((lambda lst:((lambda pair: pair((lambda a: lambda b: a)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst))(rec(f)(init)((lambda lst:((lambda pair: pair((lambda a: lambda b: b)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst)))(x)))))(lambda _:((lambda a: lambda b: a((lambda num: lambda f: lambda x: f(num(f)(x))))(b))((lambda f: lambda x: f(x)))))((lambda f: lambda x: x)))(a))((((lambda f:(lambda x: f(lambda v: x(x)(v)))(lambda x: f(lambda v: x(x)(v))))(lambda rec: lambda f: lambda init: lambda lst:((lambda boolean: boolean)(((lambda pair: pair((lambda a: lambda b: a))))(lst))(init)(lambda x: f((lambda lst:((lambda pair: pair((lambda a: lambda b: a)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst))(rec(f)(init)((lambda lst:((lambda pair: pair((lambda a: lambda b: b)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(lst)))(x)))))(lambda _:((lambda a: lambda b: a((lambda num: lambda f: lambda x: f(num(f)(x))))(b))((lambda f: lambda x: f(x)))))((lambda f: lambda x: x)))(b)))))(a)(b)))(rec(amount)((lambda lst:((lambda pair: pair((lambda a: lambda b: b)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(coins))((lambda el: lambda lst:((lambda head: lambda tail: lambda f: f(head)(tail))((lambda a: lambda b: b))((lambda head: lambda tail: lambda f: f(head)(tail))(el)(lst))))((lambda lst:((lambda pair: pair((lambda a: lambda b: a)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(coins))(taken)))(rec(amount)((lambda lst:((lambda pair: pair((lambda a: lambda b: b)))((lambda pair: pair((lambda a: lambda b: b)))(lst))))(coins))(taken)))(x))))))((lambda f: lambda x: f(f(f(f(f(f(f(f(f(f(x))))))))))))(RANGE((lambda f: lambda x: f(x)))(((lambda num: lambda f: lambda x: f(num(f)(x)))((lambda f: lambda x: f(f(f(f(f(x))))))))))(((lambda head: lambda tail: lambda f: f(head)(tail))((lambda a: lambda b: a))((lambda a: lambda b: a)))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment