Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import std.stdio;
- import std.functional;
- alias ackerman = memoize!ack;
- int ack (int m, int n) {
- if (m == 0) {
- return n + 1;
- }
- else if (n == 0) {
- return ackerman(m - 1, 1);
- }
- return ackerman(m - 1, ackerman(m, n - 1));
- }
- void main() {
- int i = 4, j = 2;
- writefln("ack(%d, %d) = %d", i, j, ackerman(i, j));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement