【发布时间】:2009-08-31 18:21:14
【问题描述】:
simonn helped me to code an ordered integer partition function here.他发布了两个函数:一个函数简单地返回分区计数,第二个函数将分区作为列表给出。
我已经设法将第一个函数从 Java 翻译成 PHP:
很遗憾,我无法翻译第二个函数。谁能帮我翻译一下这个小功能?
public class Partitions2
{
private static void showPartitions(int sizeSet, int numPartitions)
{
showPartitions("", 0, sizeSet, numPartitions);
}
private static void showPartitions(String prefix, int start, int finish,
int numLeft)
{
if (numLeft == 0 && start == finish) {
System.out.println(prefix);
} else {
prefix += "|";
for (int i = start + 1; i <= finish; i++) {
prefix += i + ",";
showPartitions(prefix, i, finish, numLeft - 1);
}
}
}
public static void main(String[] args)
{
showPartitions(5, 3);
}
}
如果解决方案是一个函数而不是一个具有多个函数的类,那就太好了。
提前非常感谢您!再次感谢 simonn 的出色回答!
【问题讨论】: