求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): //然后求10到50的阶乘并累加
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
手工编写,上机验证
为啥要从10的阶乘开始
从10开始遍历到50,每个数求阶乘,再相加,不就行了
你想写个双重循环也行,想节约计算量也可以用一重循环搞定