#include <stdio.h>
int isPrime(int n) {
if (n < 2) return 0;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return 0;
}
return 1;
}
int main(void) {
int a[33];
int count = 0;
a[0] = 2;
a[1] = -1;
for (int i = 2; i <= 32; i++) {
a[i] = -a[i - 1] + a[i - 2];
}
for (int i = 0; i <= 32; i++) {
if (a[i] > 0 && isPrime(a[i])) {
count++;
}
}
printf("正で素数の個数は %d 個です。\n", count
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaXNQcmltZShpbnQgbikgewogICAgaWYgKG4gPCAyKSByZXR1cm4gMDsKICAgIGZvciAoaW50IGkgPSAyOyBpICogaSA8PSBuOyBpKyspIHsKICAgICAgICBpZiAobiAlIGkgPT0gMCkgcmV0dXJuIDA7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IGFbMzNdOyAKICAgIGludCBjb3VudCA9IDA7IAoKICAgIAogICAgYVswXSA9IDI7CiAgICBhWzFdID0gLTE7CgogICAgCiAgICBmb3IgKGludCBpID0gMjsgaSA8PSAzMjsgaSsrKSB7CiAgICAgICAgYVtpXSA9IC1hW2kgLSAxXSArIGFbaSAtIDJdOwogICAgfQoKICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gMzI7IGkrKykgewogICAgICAgIGlmIChhW2ldID4gMCAmJiBpc1ByaW1lKGFbaV0pKSB7CiAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgfQogICAgfQoKICAgIAogICAgcHJpbnRmKCLmraPjgafntKDmlbDjga7lgIvmlbDjga8gJWQg5YCL44Gn44GZ44CCXG4iLCBjb3VudCk7CgogICAgcmV0dXJuIDA7Cn0K