10 输出0到200000范围内具有如下特性的数。组成该数的各位数字阶乘之和等于该数。(如:145 = 1!+4!+5!)这个用Python可以有简便点的写法么

请先 登录 后评论

1 个回答

xyzhang


d=[]

for i in range(1,200001):

 b=str(i)

 c=0

 for j in b:

  a=1

  for l in range(1,int(j)+1):

   a=l*a

  c=c+a

 if i==c:

  d.append(i)

print(d)


d=[1,2,145,40585]

,,,,,,,,,,,,,,,

def fun(x):

if x==1 or x==0:

return 1

else:

return x*fun(x-1)

d=[]

for i in range(1,200001):

b=str(i)

c=0

for j in b:

k=int(j)

c=fun(k)+c

if i==c:

d.append(i)

print(d)

请先 登录 后评论
  • 0 关注
  • 0 收藏,419 浏览
  • 吴彦夫 提出于 2021-10-16 15:40

相似问题