n个不同元素分组问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:39:33
有n个不同的元素,分为x组(1<=x<=n)每组至少有一个元素,求总共有多少种分法(最好用JAVA写,不行别的语言也无所谓)
为方便理解附当n=4时x分别为3和4时的结构图一张:

#include <stdio.h>

int main()
{
int n = 0;
int x = 0;

//输入元素的个数
printf("Enter n:");
scanf("%d", &n);
//输入将要分成的组数
printf("Enter x:");
scanf("%d", &x);
//判断组数是否符合(1<= x <= n)
if(x < 1 || x > n)
{
printf(" x error!\n");
return 0;
}

int i = 0;
int ret = 1;
//计算共有多少中分法
for(i = 0; i < x; i++)
{
ret *= (n - x - i);
}
printf("retsult = %d\n", ret);

return 0;
}

这个也要编程?
手算也比编程快
只是一个算法问题
先占个位子

这里的元素是可以重复使用的。(我是这么理解的!!)

/*
有n个不同的元素,分为x组(1<=x<=n)每组至少有一个元素,求总共有多少种分法
*/
import java.util.*;

public class TestElements {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入元素个数n!")