tommy

It's hard to tell the world we live in is either a reality or a dream
posts - 52, comments - 17, trackbacks - 0, articles - 0
  开发者Cpp博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

递归数查寻表

Posted on 2006-04-22 12:48 Tommy Liang 阅读(492) 评论(0)  编辑 收藏 引用 所属分类: 泛型编程与设计模式
最多到17,18就不对了
// knapSackSupportTest.cpp : 定义控制台应用程序的入口点。
//

#include 
"stdafx.h"

typedef __int64 DT;

template
<int N>
struct factorial{
    
static const DT value = N * factorial<N-1>::value;
}
;

template
<>
struct factorial<1>{
    
static const DT value = 1;
}
;
static DT arrFactorial[32];

int _tmain(int argc, _TCHAR* argv[])
{
    arrFactorial[
1] = factorial<1>().value;
    arrFactorial[
2] = factorial<2>().value;
    arrFactorial[
3] = factorial<3>().value;
    arrFactorial[
4] = factorial<4>().value;
    arrFactorial[
5] = factorial<5>().value;
    arrFactorial[
6] = factorial<6>().value;
    arrFactorial[
7] = factorial<7>().value;
    arrFactorial[
8] = factorial<8>().value;
    arrFactorial[
9] = factorial<9>().value;
    arrFactorial[
10] = factorial<10>().value;
    arrFactorial[
11] = factorial<11>().value;
    arrFactorial[
12] = factorial<12>().value;
    arrFactorial[
13] = factorial<13>().value;
    arrFactorial[
14] = factorial<14>().value;
    arrFactorial[
15] = factorial<15>().value;
    arrFactorial[
16] = factorial<16>().value;
    arrFactorial[
17] = factorial<17>().value;
    
    
for(int i=1;i < 18;i++)
    
{
        printf(
"factorial of %d=%u\n",i,arrFactorial[i]);
    }
    

    
return 0;
}