要求:输入n 之后返回从1到n的阶乘的和的后六位(不含前导0)
思考与实践:首先我们先用input来获取输入的数值,之后我们定义一个函数来实现阶乘的计算,用一个for in 将n及n以内的数遍历出来,之后将他们相乘。之后我们再用for in来遍历n及n以内的数,之后我们用该函数来求出他们各自的阶乘再将其相加。最后我们先判断长度看是否有六个数,要是有的话就直接print其取整,防止前部为0。若比6长度短则返回提示。
n=input()
def fact(x):
ans=1
for i in range(1,int(x)+1):
ans=ans*i
return(ans)
sum=0
for q in range(1,int(n)+1):
sum=fact(q)+sum
sum1=str(sum)
if len(sum1)>=6:
print(int(sum1[-6::]))
else:
print("输出的结果位数小于6")