在java库中有没有一个内置的方法,可以为任何N,R计算'N choose R‘?
发布于 2010-02-05 00:06:14
apache-commons "Math“在org.apache.commons.math4.util.CombinatoricsUtils中支持这一点
发布于 2010-02-10 17:01:58
recursive definition提供了一个非常简单的选择函数,它可以很好地处理较小的值。如果您计划多次运行此方法,或者对较大的值执行此操作,那么将其记入内存将是值得的,但除此之外,它可以很好地工作。
public static long choose(long total, long choose){
if(total < choose)
return 0;
if(choose == 0 || choose == total)
return 1;
return choose(total-1,choose-1)+choose(total-1,choose);
}
改进此函数的运行时将作为一个exercise for the reader :)
发布于 2010-02-05 00:06:39
https://stackoverflow.com/questions/2201113
复制相似问题