如何解n个数的阶乘偶数,然后将它们相乘

How to solve factorial even numbers on the n number, then multiply them

例如有3个那么程序会 乘以前 3 个阶乘 2 x 4 x 6 = 48。例如,如果用户想要 3,则程序将仅乘以前 3 个阶乘,如果初始值为偶数,则总和值将减少。 int 类型,其中包含很多需要的偶数,并且会在每次递归中继续增长

通话:

Print (Value (number, initial))
print(value(3,0))

输出:

48

解释:

前3个偶数是2,4,6。所以它们相乘的结果将是 48。

抱歉,我的程序出了什么问题:

def value(number,initial):

    while(initial<=(number)):

        print((initial*2), end="")

        initial = (initial+1)

        print("%d *" %(initial),end='')

        return initial * (str(value(number,initial)))


value(3,0)

使用reduce怎么样?

您可以生成一个 range,其中包含以 initial 开头的数字,金额为 number

from functools import reduce

def value(number, initial):
    return reduce(lambda x, y: x * y, range(initial + 2, (initial + 2) + 2 * number, 2))

print(value(3, 0))
# 48