分析
这道题说要用高精度来写,但是Python完全不用,自带高精
那么我不讲C++辣!
但是我依然仁慈的来讲一下C++。
Python版
1 输入
这个地方可以用int():
num = int(input())
或者用eval():
num = eval(input())
但是千万不能不写,因为这两个函数都是可以将str类型转成int类型的,如果不加,那么就会出错。
2 阶乘
(1) for循环
for循环要从1开始,到i(i!中的)结束,注意包含x
for j in range(1,i + 1):
(2) 连乘
先写一个变量(循环外)
su = 1
注意,必须写1,不能写0,因为写0后面乘的时候就会一直是0,因为0乘任何数都得0。
再写连乘代码
su *= j
3 外面一层for循环
for i in range(1,num + 1):
4 连加
循环外写一个变量
al = 0
此时只能写0。
再在循环里面加起来
al += su
对了,后面加完后su还得清1,如果写在第一层循环内就不用了
su = 1
5 输出
print(su)
6 完整代码
num = int(input())
al = 0
for i in range(1,num + 1):
su = 1
for j in range(1,i + 1):
su *= j
al