#include
using namespace std;
long long calculate(long long n,long long k)
{
if(n<k||k0)
return 0;
if(nk||k==1)
return 1;
return calculate(n-1,k-1)+k*calculate(n-1,k);
}
int main()
{
long long n,k;
cin>>n>>k;
cout<<calculate(n,k)<<endl;
return 0;
}
万能头文件
集合的划分C++
该博客展示了一个C++程序,用于计算组合数(n choose k)。程序使用递归方法,处理了边界条件并优化了计算过程。输入包括两个长整数n和k,输出为它们的组合数。递归公式为C(n, k) = C(n-1, k-1) + n*C(n-1, k)。
674

被折叠的 条评论
为什么被折叠?



