关住 公 纵 号 “ 阿蒙课程分享 ” 获得学习资料及趣味分享
描述:N的阶乘定义为:N!=N×(N-1)×……×2×1 请编写一个程序,输出N的阶乘的十进制表示中从最末一个非0位开始自低位向高位数的第K位。 现在给你N和K(0<=N<=10000,1<=K<=5),请你输出要求的数字(保证存在)。 例如:N=5,K=2,则输出1 note:(5!=120); N=8,K=3,结果为0 note:(8!=40320)
from __future__ import print_function
def find_the_answer(N,K):
result = 1
while N > 1:
# print("--------******************-----start----")
# print(N)
result *= N
while result % 10 == 0:
result /= 10
# result %= (10 ** K)
N -= 1
# print("--------******************------end---")
result = str(result)
# print(result)
if len(result) >= K:
result = result[len(result)-K]
else:
result = 0
return result
# N=8
# K=1
print(find_the_answer(N,K),end='')