#include <stdio.h>
// recの呼び出し回数
int c = 0;
// a[n] = 2a[n-1] + a[n-2]
// a[1] = 2, a[2] = 3
int rec(int n)
{
c++;
if (n == 1)
{
return 2;
}
else if (n == 2)
{
return 3;
}
else
{
return 2 * rec(n-1) + rec(n-2);
}
}
int main(void)
{
int n = 4;
int a;
a = rec(n);
printf("このときrecの呼び出し回数は%d\n", c
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyByZWPjga7lkbzjgbPlh7rjgZflm57mlbAKaW50IGMgPSAwOwoKLy8gYVtuXSA9IDJhW24tMV0gKyBhW24tMl0KLy8gYVsxXSA9IDIsIGFbMl0gPSAzCmludCByZWMoaW50IG4pCnsKICAgIGMrKzsKCiAgICBpZiAobiA9PSAxKQogICAgewogICAgICAgIHJldHVybiAyOwogICAgfQogICAgZWxzZSBpZiAobiA9PSAyKQogICAgewogICAgICAgIHJldHVybiAzOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHJldHVybiAyICogcmVjKG4tMSkgKyByZWMobi0yKTsKICAgIH0KfQoKaW50IG1haW4odm9pZCkKewogICAgaW50IG4gPSA0OwogICAgaW50IGE7CgogICAgYSA9IHJlYyhuKTsKCiAgICBwcmludGYoIuaVsOWIl2ElZOOBruWApOOBryVkXG4iLCBuLCBhKTsKICAgIHByaW50Zigi44GT44Gu44Go44GNcmVj44Gu5ZG844Gz5Ye644GX5Zue5pWw44GvJWRcbiIsIGMpOwoKICAgIHJldHVybiAwOwp9