小编ek1*_*437的帖子

递归地打印n,n-1,n-2,...... 3,2,1,2,3,... n

您好我有一个功课问题我被困在..任何提示或提示将不胜感激.问题是:

在C++中编写一个递归函数,将一个正整数作为参数n然后打印n, n-1, n-2,...3,2,1,2,3,...n.你的算法做了多少次递归调用?算法运行时间最差的是什么?

我陷入了第一部分.编写打印的递归函数n, n-1, n-2,...3,2,1,2,3,...n

到目前为止我有:

print(int n)
{
    if (n==0)
    return;
    cout<<n<<" ";
    print(n-1);

return;
}
Run Code Online (Sandbox Code Playgroud)

但这只打印n1 我失去了我将如何打印2n只使用一个参数和递归单一功能.

我试过这个:它给出了正确的输出,但有一个循环,有两个参数:

p and z has the same value. 

void print(int p,int z)
{

if (p==0)
    {
        for(int x=2;x<=z; x++)
            cout<<x<<" ";
        return;
    }
    else

    cout<<p<<" ";
    print(p-1,z);

return;
}
Run Code Online (Sandbox Code Playgroud)

任何暗示或提示非常感谢谢谢.

所以它现在正在运作,但我无法理解如何(评论中的问题):

void print(int n)
{

if (n==1){
    cout<<n;
    return;
    }
else
    cout<< n;
    print(n-1); // how does …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm recursion

2
推荐指数
1
解决办法
4736
查看次数

标签 统计

algorithm ×1

c++ ×1

recursion ×1