关于#python#的问题:Python求10

求10到50的阶乘之和
不知道如何从10的阶乘开始编写for循环

def jiecheng(n):
    if n == 0 or n ==1:
        return 1
    else:
        return n * jiecheng(n-1)

sum = 0

for i in range(10,51):
    sum += jiecheng(i)

print("10到50之间的阶乘之和为:", sum)

for 循环中加个if条件判断即可,代码如下:

sum = 0
tmp = 1
for i in range(1,51):
    tmp = tmp * i  # 计算i 的阶乘
    if i >=10: #求 10 到50 的阶乘和
        sum = sum + tmp

print(sum)


sum = 0
jc = 1
for i in range(2,10):  //先求9的阶乘
    jc = jc * i
for i in range(10,51): //然后求1050的阶乘并累加
    jc = jc * i
    sum = sum + jc
print(sum)
 
sum = 0
p = 1
for i in range(51):
  if i > 0:
    p = p * i
  if i >= 10:
    sum += p
print(sum)

31035053229546199656252032972759319953190362094566672920420531200

img

手工编写,上机验证

为啥要从10的阶乘开始
从10开始遍历到50,每个数求阶乘,再相加,不就行了
你想写个双重循环也行,想节约计算量也可以用一重循环搞定

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632