购买主题
hao dong xi!!!
OH GOD 最烦递归了 学习一下
看看啊啊啊啊啊啊啊啊啊
买下了!!!
强烈支持甲鱼ing……
我是VIP,我骄傲!
强烈支持楼主ing……
激动人心,无法言表!
强烈支持楼主ing……
no code say a jb
学习一下啊!
{:5_102:}支持
真是难得给力的帖子啊。
淡定,淡定,淡定……
淡定,淡定,淡定……
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);
}
hydkmy 发表于 2013-10-16 14:55 static/image/common/back.gif
no code say a jb
小甲鱼默默的说,no code you 看啥答案 自己完成一遍再看答案嘛
强烈支持楼主ing……
已有 25 人购买 本主题需向作者支付 5 鱼币 才能浏览