给定正整数n,计算出n个元素的集合{1,2,....,n}能够划分为多少个不同的非空集合

给定正整数n,计算出n个元素的集合{1,2,....,n}能够划分为多少个不同的非空集合

附源码:

#include<iostream>
using namespace std;

int F(int n,int m)
{
	if(n<=2)
		return 1;
	if(m==1||n==m)
		return 1;
	else
		return F(n-1,m-1)+m*F(n-1,m);
}
void main()
{
	int n;
	char end;
	int result = 0;
	cout<<"请输入正整数n=";
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		result = result+F(n,i);
	}
	cout<<n<<"个元素可划分的非空集合有"<<result<<"个"<<endl;
	cout<<"请随意输入一个字符按回车结束";
	cin>>end;


原文地址:https://www.cnblogs.com/gcczhongduan/p/4297389.html