求一道题,python中任意给定三个整数x y z,并且这三个数在一到一百之间,求x!+y!+z!

python

(python 3.5)
from functools import reduce
def sum_grad(x,y,z):
min_t = min(x,y,z)
max_t = max(x,y,z)
mid_t = x+y+z-max_t-min_t
x_grad = reduce(lambda x,y:x*y,map(lambda x:x + 1, range(min_t)))
if min_t == mid_t:
y_grad = x_grad
else:
y_grad = x_grad*reduce(lambda x,y:x*y,map(lambda x:x + 1, range(min_t,mid_t)))
if mid_t == max_t:
z_grad = 1
else:
z_grad = reduce(lambda x,y:x*y,map(lambda x:x + 1, range(mid_t,max_t)))
return x_grad + y_grad*(1+z_grad)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-24
记住一个定理:三角形两边之和大于第三边,两边之差小于第三边。这就足够了!