求N!的十进制表示中末尾0的个数 (python实现)
来源:互联网 发布:vba有数据库吗 编辑:程序博客网 时间:2024/05/18 00:34
问题1,求N!的十进制表示中末尾0的个数。
直接求出N!不太现实,很容易溢出。这个问题比较容易想到的是,因为2X5=10,所以可以求N!含有的因子2和因子5的个数。可以这样表示N!=2x * 3y * 5z * 7a*...,在这个表达式中,我们容易得出x > z,因此只需要计算N!中含有因子5的个数,进而可以转化成计算1-N这N个数含有因子5的个数之和
下面的算法就需要好好考虑如下事实:
1-N这N个数中有N/5个数是5的倍数
1-N这N个数中有N/52个数是52的倍数
1-N这N个数中有N/53个数是53的倍数
...
这样就比较明了了,容易得到如下算法:
def main(): numbers=[] count=0 while True: try: a = input() k=cal(int(a)) numbers.append(int(k)) count+=1 except: break for i in range(count): print(numbers[i])def cal(a): b=a k=0 while True: if b>0: b=int(b/5) k+=b else: break return kmain()
阅读全文
2 0
- 求N!的十进制表示中末尾0的个数 (python实现)
- 求N的阶乘N!中末尾0的个数
- 求n!的结果中末尾0的个数
- 求N!的末尾0的个数
- 求n!末尾0的个数
- 求n!末尾0的个数
- 求n!末尾0的个数
- 求阶乘N!末尾0的个数
- 求N!末尾0的个数
- 求n!末尾0的个数
- 求N!末尾0的个数
- 求 N!末尾0的个数
- 求阶乘N!末尾0的个数
- 求n!末尾0的个数
- 算法--求n!末尾0的个数
- 求N!末尾0的个数
- 【滴滴】求N!末尾0的个数
- 求N阶乘末尾0的个数
- css引入方式和选择器
- OAuth2.0
- mybatis使用annotation在mysql,oracle上进行批量处理
- MongoDB常用命令汇总之索引。
- 【GDOI2018模拟7.10】B
- 求N!的十进制表示中末尾0的个数 (python实现)
- (转)Rust:Vec、String 内存布局
- 百度无人车ApolloAuto使用入门
- bzoj/hysbz-2440-完全平方数
- Android官方BottomNavigationView添加Badge(角标)
- Android系统广播大全
- 【BZOJ2154】Crash的数字表格(莫比乌斯反演)(数学)
- Android Uri和文件路径互相转换
- mysql导入的一些问题