64,683
社区成员
发帖
与我相关
我的任务
分享
include <iostream>
#include <stdlib.h>
using namespace std;
template<int T, int N> struct f{
enum {ret = f<T-1,N>::ret + f<T-1,N-1>::ret};
};
template <int T>
struct f<T, T>{
enum {ret = 1};
};
template <int T>
struct f<T, 1>{
enum {ret = T};
};
template <int N>
struct f<1,N>{
enum {ret = N };
};
int main(int argc, char *argv[])
{
//cout<<f<4,4>::ret<<endl;
cout<<f<2,3>::ret<<endl;
system("PAUSE");
return 0;
}
/***********************************************************************
/* Cmn=Cm-1n+Cm-1n-1
Cmn=1(m=n),Cmn=m(n=1)
/************************************************************************/
#include <stdio.h>
int f(int x, int y) {
if (x == y)
{
return 1;
}
if (y == 1)
{
return x;
}
//应该要添加一个条件啊
if (x == 1)
{
return y; //返回值有条件决定
}
return f(x-1, y) + f(x-1, y-1);
}
int main ( ) {
printf(" %d \n", f(2, 3));
}