aboutsummaryrefslogtreecommitdiff
path: root/challenge-017/veesh-goldman/perl6/third.p6
blob: 54e7eea0ffff81ec14e8f30fea039d49aef5fa5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#! /usr/bin/env perl6

sub A ( $m, $n ) {
  state %saved;
  %saved{$m}{$n} //= _A( $m, $n )
}

sub _A ( $m, $n ) {
  return $n + 1 unless $m;
  return A( $m - 1, 1 ) unless $n;
  return A( $m - 1, A($m, $n - 1) )
}


sub MAIN ( Int $m, Int $n ) {
  say A($m, $n)
}