zoukankan      html  css  js  c++  java
  • 数据结构与算法(C++)之递归

    今天来总结下递归:

    #include <iostream>

    using namespace std;

    void doA()
    {
    cout<<"你好啊"<<endl;
    doA();
    }
    void doB()
    {
    cout<<"从前有座山,山里有座庙,庙里有个老和尚,老和尚再给小和尚讲故事:"<<endl;
    doB();
    }
    int main()
    {
    //doA();
    doB();
    return 0;
    }

    /////////////////////////////////////////////////////////////////

    递归的应用:阶乘

    #include <iostream>
    //任何能使用递归(好理解,但是慢,占用大量资源)解决的问题,一定能使用迭代(普通循环)解决
    using namespace std;
    long jiecheng(int n);

    int main()
    {
    //cout<<jiecheng(5)<<endl;
    for(int i=0;i<10;i++)
    {
    cout<<i<<"的!="<<jiecheng(i)<<endl;
    }
    return 0;
    }
    long jiecheng(int n)
    {
    if(n==0)
    return 1;
    else
    return n*jiecheng(n-1);
    }

    下面是阶乘的迭代算法:

    #include <iostream>
    //阶乘的迭代算法
    using namespace std;

    long diedai(int n);
    int main()
    {
    int c=diedai(9);
    cout<<c<<endl;
    for(int a=0;a<10;a++)
    {
    cout<<diedai(a)<<endl;
    }
    return 0;
    }
    long diedai(int n)
    {
    long o=1;
    for(int i=n;i>0;i--)
    {
    o=o*i;
    }
    return o;
    }

    no one and you
  • 相关阅读:
    二进制回复操作
    日志和备份介绍
    mraiadb查
    mraiadb增三删改
    mardb基本操作
    redis搭建主从和多主
    ldd 查看符号找不到
    一个声明指定了多个类型
    word中为选定文本加边框和底纹
    ue配置lua语法高亮
  • 原文地址:https://www.cnblogs.com/wslQAQ/p/12329952.html
Copyright © 2011-2022 走看看