chuzhan.cpp

来自「用递归法求出栈顺序有多少种.(假设n个元素中有k个元素未入栈」· C++ 代码 · 共 26 行

CPP
26
字号
#include<iostream>

using namespace std;
//递归解法:
//假设n个元素中有k个元素未入栈,栈中还有m个元素未出栈
//那么在任意时刻,最多有两种可能的操作:出栈、入栈
int b(int k,int m)
{
	if(k==0) return 1;
	if(m==0) return b(k-1,1);
	if(m>0)  return b(k-1,m+1)+b(k,m-1);
}

int main()
{
	int n=1;
	int result;
	while(n>0)
	{
		cout<<endl<<"请输入要计算的元素个数:";
		cin>>n;
		if(n>0) result=b(n,0);
		cout<<"计算的结果得:"<<result;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?