1,163
社区成员




[code=C/C++]#include<fstream.h>
#include<stdio.h>
int sin[]= {1, 2, 3, 4};
const int N = sizeof(sin) / sizeof(int);
int push[N*2];
int s[N];
ofstream out("xx.txt");
void calcout(int snum, int innum, int opNum)
{
if (innum) {
push[opNum]=true;
calcout(snum+1, innum-1, opNum+1);
if (snum>0) {
push[opNum]=false;
calcout(snum-1, innum, opNum+1);
}
}else {
static int num = 1;
out<<num++<<",";
int i;
for (i=opNum; i<N*2; i++) push[i]=false;
int spos=0, inpos=0;
// 打印出栈顺序
for (i=0; i<N*2; i++) {
if (push[i])
{
s[spos++] = sin[inpos++];
}
else {
out<<s[--spos];
}
}
// 打印出栈顺序对应的进出栈操作序列
for (i=0; i<N*2; i++) {
if (push[i]) out<<"<" ;
else out<<">";
}
out<<"\n";
}
}
int main(int argc, char* argv[])
{
calcout(0, N, 0);
return 0;
}
[/code]14种
[1/(n+1)]*[(2n)!/(n!)^2]
或者
f(0) = 1
f(1) = 1
f(2) = f(0)*f(1) + f(1)*f(0) = 2
f(3) = f(0)*f(2) + f(1)*f(1) + f(2)*f(0) = 5
..........
f(n) = f(0)*f(n - 1) + f(1)*f(n - 2) + ......... + f(n-2)*f(1) + f(n-1)*f(0)
[code=C/C++]
#include<fstream.h>
#include<fstream.h>