#include <stdio.h>
int rec(int n) {
// 0以下になったら終了(偶数の場合は2->0となりここで終了する)
if (n <= 0) {
return 0;
}
// 1になったら1を返す(奇数の終了条件)
else if (n == 1) {
return 1;
}
// それ以外は n を足して 2 引いた値を再帰呼び出し
else {
return rec(n - 2) + n;
}
}
int main(void) {
int n = 11;
// n が偶数か奇数かでメッセージを変える
if (n % 2 == 0) {
printf("%d以下の正の偶数の和は%d\n", n
, rec
(n
)); } else {
printf("%d以下の正の奇数の和は%d\n", n
, rec
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgcmVjKGludCBuKSB7CiAgICAvLyAw5Lul5LiL44Gr44Gq44Gj44Gf44KJ57WC5LqG77yI5YG25pWw44Gu5aC05ZCI44GvMi0+MOOBqOOBquOCiuOBk+OBk+OBp+e1guS6huOBmeOCi++8iQogICAgaWYgKG4gPD0gMCkgewogICAgICAgIHJldHVybiAwOwogICAgfSAKICAgIC8vIDHjgavjgarjgaPjgZ/jgokx44KS6L+U44GZ77yI5aWH5pWw44Gu57WC5LqG5p2h5Lu277yJCiAgICBlbHNlIGlmIChuID09IDEpIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0gCiAgICAvLyDjgZ3jgozku6XlpJbjga8gbiDjgpLotrPjgZfjgaYgMiDlvJXjgYTjgZ/lgKTjgpLlho3luLDlkbzjgbPlh7rjgZcKICAgIGVsc2UgewogICAgICAgIHJldHVybiByZWMobiAtIDIpICsgbjsKICAgIH0KfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IG4gPSAxMTsKICAgIAogICAgLy8gbiDjgYzlgbbmlbDjgYvlpYfmlbDjgYvjgafjg6Hjg4Pjgrvjg7zjgrjjgpLlpInjgYjjgosKICAgIGlmIChuICUgMiA9PSAwKSB7CiAgICAgICAgcHJpbnRmKCIlZOS7peS4i+OBruato+OBruWBtuaVsOOBruWSjOOBryVkXG4iLCBuLCByZWMobikpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIiVk5Lul5LiL44Gu5q2j44Gu5aWH5pWw44Gu5ZKM44GvJWRcbiIsIG4sIHJlYyhuKSk7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9