找到小于n的最高阶乘

时间:2015-08-24 18:03:05

标签: python factorial

我试图找到小于n的最高阶乘。

到目前为止,这是我的代码:

import math 

def highestNum(n):
    list = [] 
    k = 0 
    f = math.factorial(k)  

    while f < n:
        list.append(f)
        k += 1 
    print list 

highestNum(1000)

代码有错误导致它无法打印任何内容。有关如何改进此代码的任何提示,以便它可以工作吗?

例如,highestNum(25)应该打印[1, 2, 6, 24]

1 个答案:

答案 0 :(得分:0)

你的代码错了。您计算k的阶乘,最初为零。因此f始终保持等于1且条件f <1。 n总是正确的,它进入无限循环。什么都不会打印出来。你应该重写你的代码。