题目:
给定n,计算1+2!+3!+…+n!的值
集成开发环境IDE:
Thonny
思路:
先计算n的阶乘,再把阶乘相加
计算n的阶乘:
n=int(input('n的值为:'))
i=1
jc=1
while i<n:
jc=jc*(i+1)
i=i+1
else:
print('n的阶乘是:',jc)
此部分代码调试无误,进行下一步
计算阶乘之和s:
n=int(input('n的值为:'))
i=1
s=0
while i<=n:
#(要把n!包括进去,所以加了个等号)
#计算i的阶乘为jc
s=s+jc
i=i+1
else:
print('1+2!+3!+...+n!=',s)
汇总:
n=int(input('n的值为:'))
i=1
s=0
while i<=n:
j=1
jc=1
while j<i:
jc=jc*(j+1)
j=j+1
s=s+jc
i=i+1
else:
print('1+2!+3!+...+n!=',s)
发现的问题:
想法:
用迭代循环for怎么做?
在网上看到了更简单的方法:
转自https://www.jb51.net/article/155790.htm
n = int(input())
jie = 1
sum = 0
i = 1
while n >= i:
jie = jie * i
sum = sum + jie
i = i + 1
print(sum)