#include <stdio.h>
int counter = 0;
int calc(int a, int b) {
int counter = 0;
int c;
printf("counter = %d\n", counter
); counter++;
printf("counter = %d\n", counter
); if (b == 3)
return (a * a * a);
else {
c = calc(a, b / 3);
printf("a=%d b=%d counter=%d\n", a
,b
,counter
); return (c * c * c);
}
}
int main() {
calc(4, 81);
printf("%d outside", counter
); }
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgY291bnRlciA9IDA7CgppbnQgY2FsYyhpbnQgYSwgaW50IGIpIHsKICBpbnQgY291bnRlciA9IDA7CiAgaW50IGM7CiAgcHJpbnRmKCJjb3VudGVyID0gJWRcbiIsIGNvdW50ZXIpOwogIGNvdW50ZXIrKzsKICBwcmludGYoImNvdW50ZXIgPSAlZFxuIiwgY291bnRlcik7CiAgaWYgKGIgPT0gMykKICAgIHJldHVybiAoYSAqIGEgKiBhKTsKICBlbHNlIHsKICAgIGMgPSBjYWxjKGEsIGIgLyAzKTsKICAgIHByaW50ZigiYT0lZCBiPSVkIGNvdW50ZXI9JWRcbiIsIGEsYixjb3VudGVyKTsKICAgIHJldHVybiAoYyAqIGMgKiBjKTsKICB9Cn0KCmludCBtYWluKCkgewogIGNhbGMoNCwgODEpOwogIHByaW50ZigiJWQgb3V0c2lkZSIsIGNvdW50ZXIpOwp9Cg==