在这个问题上,给我们一个数字n。我们的任务是打印图案,将其减少到0或负数然后再增加到数字。
让我们举个例子来了解这个问题,
Input: n = 12 Output: 12 7 2 -3 2 7 12
为了解决这个问题,我们将使用递归并在每次更新后调用该函数。使用flag变量保持更新轨迹,该变量告诉函数将数字增加或减少5。
以下代码提供了我们解决方案的实现,
#include <iostream> using namespace std; void printNextValue(int m){ if (m > 0){ cout<<m<<'\t'; printNextValue(m - 5); } cout<<m<<'\t'; } int main(){ int n = 13; cout<<"The pattern is:\n"; printNextValue(n); return 0; }
输出结果
The pattern is − 13 8 3 -2 3 8 13