// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
// for details. All rights reserved. Use of this source code is governed by a | |
// BSD-style license that can be found in the LICENSE file. | |
// Dart version of two-argument Ackermann-Peter function. | |
class AckermannTest { | |
static ack(m, n) { | |
return m == 0 ? | |
n + 1 : ((n == 0) ? | |
ack(m - 1, 1) : ack(m - 1, ack(m, n - 1))); | |
} | |
static testMain() { | |
Expect.equals(253, ack(3, 5)); | |
} | |
} | |
main() { | |
AckermannTest.testMain(); | |
} |