#include <stdio.h>
int main() {
int a[33];
int count = 0;
a[0] = 2;
a[1] = -1;
for (int i = 2; i < 33; i++) {
a[i] = -a[i - 1] + a[i - 2] + 2;
}
for (int i = 0; i < 33; i++) {
if (a[i] > 1) {
int b = 1;
for (int j = 2; j * j <= a[i]; j++) {
if (a[i] % j == 0) {
b = 0;
break;
}
}
if (b) {
count++;
}
}
}
printf("この数列のa0からa32までのうち、正で素数となっている項の個数は %d 個です。\n", count
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBhWzMzXTsKICAgIGludCBjb3VudCA9IDA7CiAgICBhWzBdID0gMjsKICAgIGFbMV0gPSAtMTsKCiAgICBmb3IgKGludCBpID0gMjsgaSA8IDMzOyBpKyspIHsKICAgICAgICBhW2ldID0gLWFbaSAtIDFdICsgYVtpIC0gMl0gKyAyOwogICAgfQoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzM7IGkrKykgewogICAgICAgIGlmIChhW2ldID4gMSkgeyAKICAgICAgICAgICAgaW50IGIgPSAxOyAKICAgICAgICAgICAgZm9yIChpbnQgaiA9IDI7IGogKiBqIDw9IGFbaV07IGorKykgewogICAgICAgICAgICAgICAgaWYgKGFbaV0gJSBqID09IDApIHsKICAgICAgICAgICAgICAgICAgICBiID0gMDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYikgewogICAgICAgICAgICAgICAgY291bnQrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW50Zigi44GT44Gu5pWw5YiX44GuYTDjgYvjgolhMzLjgb7jgafjga7jgYbjgaHjgIHmraPjgafntKDmlbDjgajjgarjgaPjgabjgYTjgovpoIXjga7lgIvmlbDjga8gJWQg5YCL44Gn44GZ44CCXG4iLCBjb3VudCk7CgogICAgcmV0dXJuIDA7Cn0=