Advertisement
Guest User

Untitled

a guest
Jan 31st, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
D 0.34 KB | None | 0 0
  1. import std.stdio;
  2. import std.functional;
  3.  
  4. alias ackerman = memoize!ack;
  5. int ack (int m, int n) {
  6.   if (m == 0) {
  7.     return n + 1;
  8.   }
  9.   else if (n == 0) {
  10.     return ackerman(m - 1, 1);
  11.   }
  12.   return ackerman(m - 1, ackerman(m, n - 1));
  13. }
  14.  
  15. void main() {
  16.   int i = 4, j = 2;
  17.   writefln("ack(%d, %d) = %d", i, j, ackerman(i, j));
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement