fork download
  1. #include <stdio.h>
  2.  
  3. int rec(int n) {
  4. // 0以下になったら終了(偶数の場合は2->0となりここで終了する)
  5. if (n <= 0) {
  6. return 0;
  7. }
  8. // 1になったら1を返す(奇数の終了条件)
  9. else if (n == 1) {
  10. return 1;
  11. }
  12. // それ以外は n を足して 2 引いた値を再帰呼び出し
  13. else {
  14. return rec(n - 2) + n;
  15. }
  16. }
  17.  
  18. int main(void) {
  19. int n = 11;
  20.  
  21. // n が偶数か奇数かでメッセージを変える
  22. if (n % 2 == 0) {
  23. printf("%d以下の正の偶数の和は%d\n", n, rec(n));
  24. } else {
  25. printf("%d以下の正の奇数の和は%d\n", n, rec(n));
  26. }
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
11以下の正の奇数の和は36