#include <stdio.h>
// 奇数なら奇数の和、偶数なら偶数の和を求める関数
int rec(int n) {
if (n <= 0) {
return 0;
}
else if (n % 2 == 1) { // 奇数
if (n == 1) {
return 1;
} else {
return n + rec(n - 2);
}
}
else { // 偶数
if (n == 2) {
return 2;
} else {
return n + rec(n - 2);
}
}
}
int main(void) {
int n;
if (n % 2 == 0) {
printf("%d 以下の偶数の和は %d\n", n
, rec
(n
)); } else {
printf("%d 以下の奇数の和は %d\n", n
, rec
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDlpYfmlbDjgarjgonlpYfmlbDjga7lkozjgIHlgbbmlbDjgarjgonlgbbmlbDjga7lkozjgpLmsYLjgoHjgovplqLmlbAKaW50IHJlYyhpbnQgbikgewogICAgaWYgKG4gPD0gMCkgewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZSBpZiAobiAlIDIgPT0gMSkgeyAgLy8g5aWH5pWwCiAgICAgICAgaWYgKG4gPT0gMSkgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gbiArIHJlYyhuIC0gMik7CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7ICAvLyDlgbbmlbAKICAgICAgICBpZiAobiA9PSAyKSB7CiAgICAgICAgICAgIHJldHVybiAyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBuICsgcmVjKG4gLSAyKTsKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBuOwogICAgc2NhbmYoIiVkIiwgJm4pOwogICAgaWYgKG4gJSAyID09IDApIHsKICAgICAgICBwcmludGYoIiVkIOS7peS4i+OBruWBtuaVsOOBruWSjOOBryAlZFxuIiwgbiwgcmVjKG4pKTsKICAgIH0gZWxzZSB7CiAgICAgICAgcHJpbnRmKCIlZCDku6XkuIvjga7lpYfmlbDjga7lkozjga8gJWRcbiIsIG4sIHJlYyhuKSk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=