滴滴出行秋招笔试(0的个数)

俗话说得好:是骡子是马拉出来溜溜
今晚上看了好多算法笔试,但出人意料地都不会做!我也是比较震惊自己现在终于"碰壁"了!
无奈之下跳了又跳,只好选择了这道不那么难的算法题!
不过现在真的挺失落,看来以后真的要努力了!
废话不多说,吐槽不要多。看今天的题目吧!生活还是要继续,不是么?

问题描述:

输入一个正整数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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值