#include <stdio.h>
// 再帰を用いて1からnまでの二乗和 (1^2+2^2+...+n^2) の値を計算する
int rec(int n) {
if (n == 1) {
return 1;
} else {
return rec(n - 1) + n * n;
}
}
int main(void) {
for (int n = 1; n <= 4; n++) {
printf("1から%dまでの二乗和の値は%d\n", n
, rec
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDlho3luLDjgpLnlKjjgYTjgaYx44GL44KJbuOBvuOBp+OBruS6jOS5l+WSjCAoMV4yKzJeMisuLi4rbl4yKSDjga7lgKTjgpLoqIjnrpfjgZnjgosKaW50IHJlYyhpbnQgbikgewogICAgaWYgKG4gPT0gMSkgewogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gcmVjKG4gLSAxKSArIG4gKiBuOwogICAgfQp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBmb3IgKGludCBuID0gMTsgbiA8PSA0OyBuKyspIHsKICAgICAgICBwcmludGYoIjHjgYvjgoklZOOBvuOBp+OBruS6jOS5l+WSjOOBruWApOOBryVkXG4iLCBuLCByZWMobikpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=