Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在n步之后打印一组数字的所有可能组的程序_Java_Combinations_Permutation - Fatal编程技术网

Java 在n步之后打印一组数字的所有可能组的程序

Java 在n步之后打印一组数字的所有可能组的程序,java,combinations,permutation,Java,Combinations,Permutation,我需要编写一个程序,打印出所有可能的组,这些组可以由给定的用户输入组成。用户还指定步骤数(k),并且在每个步骤中,只能添加两个元素以形成一个组。 我的第一反应是使用一个简单的函数来计算使用nCk的组合,然后将它们全部打印出来。然而,有人向我指出,可能的组合数量将远远高于nCk。 假设一组n=5个数字1,2,3,4,5和k=2 步骤1:创建一个组。在所有可能的组合中,假设一个组{(1,2),3,4,5}。 第二步:这里还有很多其他的可能性。它可以是{(1,2,3),4,5} 或{(1,2),3,(

我需要编写一个程序,打印出所有可能的组,这些组可以由给定的用户输入组成。用户还指定步骤数(k),并且在每个步骤中,只能添加两个元素以形成一个组。
我的第一反应是使用一个简单的函数来计算使用nCk的组合,然后将它们全部打印出来。然而,有人向我指出,可能的组合数量将远远高于nCk。
假设一组n=5个数字1,2,3,4,5和k=2
步骤1:创建一个组。在所有可能的组合中,假设一个组{(1,2),3,4,5}。
第二步:这里还有很多其他的可能性。它可以是{(1,2,3),4,5} 或{(1,2),3,(4,5)}或任何其他组合
在给定的步骤数中,如何计算所有此类组的数量?还可以打印这些组吗?

编辑:每一步添加两个元素以显示总和。所以在步骤1之后,1+2=3,集合看起来像3,3,4,5。但是为了澄清这个问题,我把它写成(1,2),而不是写总和

请说明您尝试了什么,以及为什么不起作用。另外,请澄清您的要求:您说“在每个步骤中,只有两个元素可以添加到一个组中”,但您的示例说“{(1,2,3),4,5}”。我尝试了nCk方法,但没有成功。此外,是的,每个阶段只添加两个元素。在第一步之后,我将(1,2)作为单个元素处理。