#include <stdio.h>
/* 再帰で a_n を求める関数 */
int a(int n)
{
/* 終了条件 */
if(n == 0)
return 0;
/* 再帰呼び出し */
return a(n - 1) * a(n - 1) + 1;
}
int main(void)
{
int i;
for(i = 1; i <= 6; i++) {
printf("a_%d = %lld\n", i
, a
(i
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKiDlho3luLDjgacgYV9uIOOCkuaxguOCgeOCi+mWouaVsCAqLwppbnQgYShpbnQgbikKewogICAgLyog57WC5LqG5p2h5Lu2ICovCiAgICBpZihuID09IDApCiAgICAgICAgcmV0dXJuIDA7CgogICAgLyog5YaN5biw5ZG844Gz5Ye644GXICovCiAgICByZXR1cm4gYShuIC0gMSkgKiBhKG4gLSAxKSArIDE7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIGludCBpOwoKICAgIGZvcihpID0gMTsgaSA8PSA2OyBpKyspIHsKICAgICAgICBwcmludGYoImFfJWQgPSAlbGxkXG4iLCBpLCBhKGkpKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==