【问题标题】:Printing all even or odd numbers up to given N打印所有偶数或奇数,直到给定 N
【发布时间】:2020-06-21 10:02:51
【问题描述】:

所以我必须编写一个递归函数 printOddEven(int n),它检查 n 是偶数还是奇数,并根据它打印出直到 n 的所有偶数或奇数(对于 n =6 它的 2 4 6 并且对于 n=7 它的 1 3 5 7)。我最接近它的是用这样的代码制作一个函数 printOddEven(int st, int n):

void printOddEven(int st, int n){   
    if (st > n){return;}
    cout << st << " ";
    printOddEven(st+2, n);
}

但是我被告知要让这个函数只依赖于 n,我不知道它应该是什么样子。谁能帮帮我?

【问题讨论】:

  • 如果n &gt; 0,使用 (n-2) 作为参数进行递归调用。然后打印n

标签: c++ recursion


【解决方案1】:

您的想法是正确的,您只需从n 向后迭代,并在打印之前进行递归调用,以便打印的顺序正确。

根据您的尝试:

void printOddEven(int n){   
    if (n < 1) { return; }
    printOddEven(n-2);
    cout << n << " ";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2017-10-02
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多