/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static int count = 0;
{
for (int i = 1; i <= 6; i++)
call(i);
}
static void call(int n) {
count = 0;
System.
out.
println("-------------"); System.
out.
printf("tarai(%d,%d,0)%n",
2*n,n
); System.
out.
println(tarai
(2*n,n,
0)); System.
out.
println("count: " + count
); }
static int tarai(int x, int y, int z) {
count++;
if (x <= y) {
return y;
} else {
return tarai(tarai(x-1,y,z),tarai(y-1,z,x),tarai(z-1,x,y));
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXN0YXRpYyBpbnQgY291bnQgPSAwOwoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJZm9yIChpbnQgaSA9IDE7IGkgPD0gNjsgaSsrKQoJCQljYWxsKGkpOwoJCQoJfQoJCglzdGF0aWMgdm9pZCBjYWxsKGludCBuKSB7CgkJY291bnQgPSAwOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLSIpOwoJCVN5c3RlbS5vdXQucHJpbnRmKCJ0YXJhaSglZCwlZCwwKSVuIiwyKm4sbik7CgkJU3lzdGVtLm91dC5wcmludGxuKHRhcmFpKDIqbixuLDApKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oImNvdW50OiAiICsgY291bnQpOwoJfQoJCglzdGF0aWMgaW50IHRhcmFpKGludCB4LCBpbnQgeSwgaW50IHopIHsKCQljb3VudCsrOwoJCWlmICh4IDw9IHkpIHsKCQkJcmV0dXJuIHk7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIHRhcmFpKHRhcmFpKHgtMSx5LHopLHRhcmFpKHktMSx6LHgpLHRhcmFpKHotMSx4LHkpKTsKCQl9Cgl9Cn0=
-------------
tarai(2,1,0)
2
count: 9
-------------
tarai(4,2,0)
4
count: 53
-------------
tarai(6,3,0)
6
count: 673
-------------
tarai(8,4,0)
8
count: 12605
-------------
tarai(10,5,0)
10
count: 343073
-------------
tarai(12,6,0)
12
count: 12604861