fork download
  1. #include <stdio.h>
  2.  
  3. // 1からnまでの奇数の和を求める再帰関数
  4. int sumodd(int n) {
  5. if (n <= 0) return 0; // ベースケース
  6.  
  7. if (n % 2 != 0) {
  8. // nが奇数の場合、nを足して次はn-2を調べる
  9. return n + sumodd(n - 2);
  10. } else {
  11. // nが偶数の場合、nは足さずにn-1を調べる
  12. return sumodd(n - 1);
  13. }
  14. }
  15.  
  16. int main() {
  17. int n;
  18. printf("正の整数nを入力してください: ");
  19. scanf("%d", &n);
  20.  
  21. printf("1から%dまでの奇数の和は %d です\n", n, sumodd(n));
  22. return 0;
  23. }
Success #stdin #stdout 0.01s 5320KB
stdin
10
stdout
正の整数nを入力してください: 1から10までの奇数の和は 25 です