小甲鱼 发表于 2013-2-24 22:52:51

已有 25 人购买  本主题需向作者支付 5 鱼币 才能浏览 购买主题

刘金伟 发表于 2013-2-25 10:46:16

hao dong xi!!!

天行健FishC 发表于 2013-2-25 16:48:39

OH GOD 最烦递归了 学习一下

向往青莲 发表于 2013-3-25 21:06:01

看看啊啊啊啊啊啊啊啊啊

eeeeelin 发表于 2013-3-28 23:16:52

买下了!!!

殘燭之淚 发表于 2013-5-4 13:05:27

强烈支持甲鱼ing……

mr.lu 发表于 2013-6-16 13:13:06

我是VIP,我骄傲!

贝贝居家拍拍店 发表于 2013-6-23 09:28:28

强烈支持楼主ing……

拈花小仙 发表于 2013-10-6 14:58:08

激动人心,无法言表!

icecool 发表于 2013-10-7 08:36:50

强烈支持楼主ing……

hydkmy 发表于 2013-10-16 14:55:58

no code say a jb

小睿webster 发表于 2013-10-22 11:02:55

学习一下啊!

zhrj060000908 发表于 2013-10-23 14:12:33

{:5_102:}支持

岁月如歌 发表于 2013-11-15 23:54:35

真是难得给力的帖子啊。

岁月如歌 发表于 2013-11-17 13:42:49

淡定,淡定,淡定……

lieeq2000 发表于 2013-11-18 15:52:37

岁月如歌 发表于 2013-11-19 21:39:52

淡定,淡定,淡定……

柠“萌”圆 发表于 2014-2-13 16:14:20

Stack.h的源码懒得发了,直接上实现#include <iostream>
#include "d:\My Documents\DEV-C++\Stack\Stack.h"

unsigned int func(unsigned int n);

int main()
{
    using std::cout;
    using std::endl;
    using std::cin;

    cout << "请输入一个数字: ";
    unsigned int num;
    cin >> num;
    Stack<unsigned int> f(10);
    f.Push(num);
    while (num != 0) // 保存num的值
    {
      num /= 2;
      f.Push(num);
    }

    f.Pop(num); // 去除栈顶的0

    unsigned int result = 1;

    while (!f.Is_Empty()) // 模拟递归操作
    {
      f.Pop(num); // 模拟递归回溯(返回)
      result *= num;
    }

    cout << "非递归得到f(n) = " << result << endl; // 最后result就是最后的结果
    cout << "递归得到f(n) = " << func(num) << endl; // 此时num等于第一个输入的数字
    return 0;
}

unsigned int func(unsigned int n)
{
    if (n == 0)
      return 1;
    return n * func(n / 2);
}

柠“萌”圆 发表于 2014-2-13 16:18:11

hydkmy 发表于 2013-10-16 14:55 static/image/common/back.gif
no code say a jb

小甲鱼默默的说,no code you 看啥答案 自己完成一遍再看答案嘛

2548827329 发表于 2014-2-15 18:32:49

强烈支持楼主ing……
页: [1] 2 3 4
查看完整版本: 递归函数的非递归求解(栈的应用)