#include <stdio.h>
// 課題3の数列を計算する再帰関数
int rec(int n) {
// ベースケース (初期値)
if (n == 0) return 3;
if (n == 1) return 0;
if (n == 2) return 2;
// 漸化式
return rec(n - 2) + rec(n - 3);
}
int main(void) {
// 第0項から第50項まで列挙
for (int i = 0; i <= 50; i++) {
printf("a%d: %d\n", i
, rec
(i
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDoqrLpoYwz44Gu5pWw5YiX44KS6KiI566X44GZ44KL5YaN5biw6Zai5pWwCmludCByZWMoaW50IG4pIHsKICAgIC8vIOODmeODvOOCueOCseODvOOCuSAo5Yid5pyf5YCkKQogICAgaWYgKG4gPT0gMCkgcmV0dXJuIDM7IAogICAgaWYgKG4gPT0gMSkgcmV0dXJuIDA7CiAgICBpZiAobiA9PSAyKSByZXR1cm4gMjsKCiAgICAvLyDmvLjljJblvI8KICAgIHJldHVybiByZWMobiAtIDIpICsgcmVjKG4gLSAzKTsKfQoKaW50IG1haW4odm9pZCkgewogICAgLy8g56ysMOmgheOBi+OCieesrDUw6aCF44G+44Gn5YiX5oyZCiAgICBmb3IgKGludCBpID0gMDsgaSA8PSA1MDsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJhJWQ6ICVkXG4iLCBpLCByZWMoaSkpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cgo=