码迷,mamicode.com
首页 > 编程语言 > 详细

SPOJ Python Day2: Small factorials

时间:2014-06-25 13:16:39      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   color   

24. Small factorials

这题目非常简单,求“小整数(1-100)”的阶乘。题目规定了时间和程序大小。

所以能想到的最简单的循环,递归,和全算出来查表都是不行的。

正确的方法的算法,如这个博客所示,写的非常清楚了,数组进位法:

http://www.open-open.com/home/space-135360-do-blog-id-9620.html

作者的例子举的也非常清晰。

但是。。。神奇的python有reduce函数,我也惊讶这个函数算阶乘这么快,直接可以AC。。。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from functools import reduce
n = int(sys.stdin.readline())
for i in range(1, n+1):
    num = int(sys.stdin.readline().strip())
    if num == 0:
        print 1
    if num == 1:
        print 1
    else:
        factorial = reduce(lambda x,y: x*y, range(1, num + 1))
        print factorial

再贴一个reduce函数的用法的博客地址:http://blog.sina.com.cn/s/blog_798f21a00100wnrl.html

Mission Success~~

SPOJ Python Day2: Small factorials,布布扣,bubuko.com

SPOJ Python Day2: Small factorials

标签:style   class   blog   code   http   color   

原文地址:http://www.cnblogs.com/xmuer/p/3806755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!