如何解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
例如有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