【发布时间】:2020-09-12 03:26:00
【问题描述】:
我通过将x 与2,3,4,5,... 相除来创建x 的阶乘表示,直到x 是zero,因此x 是256^50000,而更大的这需要几秒钟。有没有比上面提到的更快的方法来创建数字的阶乘表示?我正在使用 java。
例子:
public List<Integer> toFactorialRepresentation(BigInteger x){
List<Integer> out = new ArrayList<>();
for(BigInteger i = TWO; !x.equals(ZERO); i=i.add(ONE)){
BigInteger[] bigg = x.divideAndRemainder(i);
out.add(bigg[1].intValueExact());
x=bigg[0];
}
return out;
}
【问题讨论】:
-
您能否详细说明“因子表示”是什么意思?另外,你能分享一下你现在拥有的代码吗?
-
添加示例代码
-
缓解混乱...阶乘!= 因式分解。
标签: java optimization numbers factorial