N的阶乘拓展 分类: python 小练习 2013-12-12 17:54 289人阅读 评论(0) 收藏

#coding:utf-8

'''
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)

'''
def main(n):

    g=lambda k,j:k*j

    #注意此处是range(1,n+1)
    return reduce(g,range(1,n+1))


def getvalue(n,k):
    total= main(n)
    print total
    s=str(total).rstrip('0')
    print s[-k]

if __name__ == '__main__':
    getvalue(5,2)

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2013-12-12 17:54  前行者2011  阅读(184)  评论(0编辑  收藏  举报