请帮忙看一下这个程序
mjken 2007-04-08 07:21:39 用编译时间换取执行时间
用了两个编译器都无法通过
#include <iostream.h>
#include <time.h>
#define FibT(n) Fib<n>::var
template<> struct Fib<0> {enum {var=0};};
template<> struct Fib<1> {enum {var=1};};
template<unsigned int N>
struct Fib{
enum
{
var=Fib<N-1>::var+Fib<N-2>::var
};
};
unsigned int RecursiveFib(unsigned int m)
{
if(m<=1)
return m;
return RecursiveFib(m-1)+RecursiveFib(m-2);
}
void main()
{
unsigned int temp;
clock_t start,finish;
double duration;
start=clock();
temp=FibT(30);
finish=clock();
duration=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<temp<<endl;
cout<<duration<<endl;
return;
}
请问要如何修改