派森 #P124. 公式计算

描述

输入数正整数m,输出0! + 1! +...+m!的计算结果。

样例

输入

5

输出

154

代码:

m = int(input())
result = 1
factorial = 1
for i in range(1, m + 1):
    factorial *= i
    result += factorial
print(result)
# 法2

def factorial(n):
    """计算n的阶乘"""
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

# 获取用户输入的正整数m
m = int(input("请输入一个正整数m:"))

# 计算0! + 1! + ... + m!
result = 0
for i in range(m+1):
    result += factorial(i)

# 输出结果
print("0! + 1! + ... + {}! = {}".format(m, result))

代码描述:

解析法1

  1. m = int(input()):使用input()函数获取用户输入的一个字符串,并通过int()函数将其转换为整数类型,存储在变量m中。
  2. result = 1:初始化变量result为1,用于记录计算结果。
  3. factorial = 1:初始化变量factorial为1,用于计算阶乘。
  4. for i in range(1, m + 1)::使用range()函数生成从1到m(包括m)的整数序列,然后进行迭代,将每个迭代的值依次赋给变量i
  5. factorial *= i:对当前的factorial乘以迭代的值i,即更新factorial的值为factorial * i,相当于计算阶乘。
  6. result += factorial:将当前的factorial加到result中,相当于将每个阶乘值累加到result中。
  7. print(result):打印最终的计算结果。

猜你喜欢

转载自blog.csdn.net/m0_63501513/article/details/132416588