俗话说得好:是骡子是马拉出来溜溜
今晚上看了好多算法笔试,但出人意料地都不会做!我也是比较震惊自己现在终于"碰壁"了!
无奈之下跳了又跳,只好选择了这道不那么难的算法题!
不过现在真的挺失落,看来以后真的要努力了!
废话不多说,吐槽不要多。看今天的题目吧!生活还是要继续,不是么?
问题描述:
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如::n = 10; n! = 3628800,所以答案为2
输入描述:
输入为一行,n(1 ≤ n ≤ 1000)
输出描述:
输出一个整数,即题目所求
输入例子:
10
输出例子:
2
今晚上看了好多算法笔试,但出人意料地都不会做!我也是比较震惊自己现在终于"碰壁"了!
无奈之下跳了又跳,只好选择了这道不那么难的算法题!
不过现在真的挺失落,看来以后真的要努力了!
废话不多说,吐槽不要多。看今天的题目吧!生活还是要继续,不是么?
问题描述:
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如::n = 10; n! = 3628800,所以答案为2
输入描述:
输入为一行,n(1 ≤ n ≤ 1000)
输出描述:
输出一个整数,即题目所求
输入例子:
10
输出例子:
2
分析:
这道题我的解答思路是:要先求出n的阶乘,然后判断n能够被10整除多少次
#-*-coding:UTF-8-*- obj = int(raw_input()) def Caln(n):#递归函数求阶乘 if n == 0 or n == 1: return 1 else: return n * Caln(n-1) m = Caln(obj) count = 0 while m % 10 == 0:#计算m一共有多少个0 count += 1 m /= 10 print count
输出显示:
10
2
Process finished with exit code 0