#include <stdio.h>
// 課題3で作成した再帰関数をそのまま利用
int rec_kadai3(int n){
if (n == 0) return 3;
else if (n == 1) return 0;
else if (n == 2) return 2;
else return rec_kadai3(n - 2) + rec_kadai3(n - 3);
}
int main(void) {
int max_n = 50; // 50項まで調べる
int an;
printf("課題4: a[n]がnで割り切れるときのnの値:\n");
// n=1からmax_nまで調べる
for (int n = 1; n <= max_n; n++) {
an = rec_kadai3(n);
// if文を用いて、(a[n] % n == 0) を満たすか判定
if (an % n == 0) {
printf("n = %d (a[%d] = %d)\n", n
, n
, an
); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDoqrLpoYwz44Gn5L2c5oiQ44GX44Gf5YaN5biw6Zai5pWw44KS44Gd44Gu44G+44G+5Yip55SoCmludCByZWNfa2FkYWkzKGludCBuKXsKICAgIGlmIChuID09IDApIHJldHVybiAzOwogICAgZWxzZSBpZiAobiA9PSAxKSByZXR1cm4gMDsKICAgIGVsc2UgaWYgKG4gPT0gMikgcmV0dXJuIDI7CiAgICBlbHNlIHJldHVybiByZWNfa2FkYWkzKG4gLSAyKSArIHJlY19rYWRhaTMobiAtIDMpOyAKfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IG1heF9uID0gNTA7IC8vIDUw6aCF44G+44Gn6Kq/44G544KLCiAgICBpbnQgYW47CiAgICAKICAgIHByaW50Zigi6Kqy6aGMNDogYVtuXeOBjG7jgaflibLjgorliIfjgozjgovjgajjgY3jga5u44Gu5YCkOlxuIik7CiAgICAKICAgIC8vIG49MeOBi+OCiW1heF9u44G+44Gn6Kq/44G544KLCiAgICBmb3IgKGludCBuID0gMTsgbiA8PSBtYXhfbjsgbisrKSB7CiAgICAgICAgYW4gPSByZWNfa2FkYWkzKG4pOwogICAgICAgIAogICAgICAgIC8vIGlm5paH44KS55So44GE44Gm44CBKGFbbl0gJSBuID09IDApIOOCkua6gOOBn+OBmeOBi+WIpOWumgogICAgICAgIGlmIChhbiAlIG4gPT0gMCkgewogICAgICAgICAgICBwcmludGYoIm4gPSAlZCAoYVslZF0gPSAlZClcbiIsIG4sIG4sIGFuKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=