Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145467
  • 博文数量: 54
  • 博客积分: 2682
  • 博客等级: 少校
  • 技术积分: 580
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 20:56
文章分类
文章存档

2012年(2)

2011年(10)

2010年(28)

2009年(14)

我的朋友

分类: C/C++

2010-12-19 09:51:00

// f(0) = 1

// f(1) = 1

// f(2) = f(1)*f(0) + f(0)*f(1) = 2

// f(3) = f(2)*f(0) + f(1)*f(1) + f(0)*f(2) = 2*1 + 1*1 + 1*2 = 5

// f(4) = f(3)*f(0) + f(2)*f(1) + f(1)*f(2) + f(0)*f(3) = 5*1 + 2*1 + 1*2 + 1*5 = 14


#include <stdio.h>

int f(int n)
{
    if (n == 0 || \
        n == 1)
    {
        return 1;
    }
    int sum = 0;
    int i = 0;
    for (i =0; i<n; i++)
    {
        sum += f(i)*f(n-i-1);
    }
    return sum;
}

int main()
{
    printf("%d\n", f(16));
    return 1;
}


// f(0) = 1

// f(1) = 1

// f(2) = f(1)*f(0) + f(0)*f(1) = 2

// f(3) = f(2)*f(0) + f(1)*f(1) + f(0)*f(2) = 2*1 + 1*1 + 1*2 = 5

// f(4) = f(3)*f(0) + f(2)*f(1) + f(1)*f(2) + f(0)*f(3) = 5*1 + 2*1 + 1*2 + 1*5 = 14


#include <stdio.h>

int f(int n, int a[])
{
    if (a[n])
    {
        return a[n];
    }
    int sum = 0;
    int i = 0;
    for (i =0; i<n; i++)
    {
        sum += f(i, a)*f(n-i-1, a);
    }
    a[n] = sum;
    return sum;
}

int a[100];

int main()
{
    a[0]=1;
    a[1]=1;
    printf("%d\n", f(16, a));
    return 1;
}


阅读(908) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-20 16:08:05

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com