#include <stdio.h>
//練習問題G
int func(int n){
if(n == 1) return 1;
if(n == 2) return 2;
int a_n = 1; // a1
int a_n1 = 2; // a2
int a_n2; // a3以降を入れる
for(int i = 3; i <= n; i++){
a_n2 = -2 * a_n1 + 2 * a_n; // 漸化式
a_n = a_n1;
a_n1 = a_n2;
}
return a_n1;
}
int main(void) {
int n = 3;
printf("数列a_nについて、n=%dのときの値は%d\n", n
, func
(n
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8v57e057+S5ZWP6aGMRwoKCmludCBmdW5jKGludCBuKXsKICAgIGlmKG4gPT0gMSkgcmV0dXJuIDE7CiAgICBpZihuID09IDIpIHJldHVybiAyOwoKICAgIGludCBhX24gICA9IDE7ICAvLyBhMQogICAgaW50IGFfbjEgID0gMjsgIC8vIGEyCiAgICBpbnQgYV9uMjsgICAgICAgLy8gYTPku6XpmY3jgpLlhaXjgozjgosKCiAgICBmb3IoaW50IGkgPSAzOyBpIDw9IG47IGkrKyl7CiAgICAgICAgYV9uMiA9IC0yICogYV9uMSArIDIgKiBhX247ICAvLyDmvLjljJblvI8KICAgICAgICBhX24gPSBhX24xOwogICAgICAgIGFfbjEgPSBhX24yOwogICAgfQoKICAgIHJldHVybiBhX24xOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgbiA9IDM7CiAgICBwcmludGYoIuaVsOWIl2FfbuOBq+OBpOOBhOOBpuOAgW49JWTjga7jgajjgY3jga7lgKTjga8lZFxuIiwgbiwgZnVuYyhuKSk7CiAgICByZXR1cm4gMDsKfQo=