计算最大数的阶乘

时间:2018-05-24 15:15:25

标签: c++

我想计算大于30的数字的阶乘,当我想计算阶乘时,结果为0。

%%timeit

pd.merge(
    df.groupby(by=["date", "category"])[["vals"]].rank(),
    df.drop("vals", axis=1),
    how="left",
    left_index=True,
    right_index=True,
)

1.73 s ± 180 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

1 个答案:

答案 0 :(得分:0)

您可以使用更大的数据类型(unsigned long long int,如果可用)。

你可以通过检查表达式中有2个和5个因子,删除它们并记住在结尾处输出额外的0来欺骗一些数字:

6! = 6 * 5 * 4 * 3 * 2 = ( 6 * 4 * 3 ) * (5*2) = "72""0"

最重要的是你使用“大数”或“任意精度”库