fork download
  1. #include <stdio.h>
  2.  
  3. // 奇数なら奇数の和、偶数なら偶数の和を求める関数
  4. int rec(int n) {
  5. if (n <= 0) {
  6. return 0;
  7. }
  8. else if (n % 2 == 1) { // 奇数
  9. if (n == 1) {
  10. return 1;
  11. } else {
  12. return n + rec(n - 2);
  13. }
  14. }
  15. else { // 偶数
  16. if (n == 2) {
  17. return 2;
  18. } else {
  19. return n + rec(n - 2);
  20. }
  21. }
  22. }
  23.  
  24. int main(void) {
  25. int n;
  26. scanf("%d", &n);
  27. if (n % 2 == 0) {
  28. printf("%d 以下の偶数の和は %d\n", n, rec(n));
  29. } else {
  30. printf("%d 以下の奇数の和は %d\n", n, rec(n));
  31. }
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0.01s 5284KB
stdin
11
stdout
11 以下の奇数の和は 36