【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出
来源:互联网 发布:数控编程培训靠谱吗 编辑:程序博客网 时间:2024/05/24 23:13
网上有这样一个广为流传的有趣问题:
1024! 末尾有多少个0?
相应的解法是:
末尾0的个数取决于乘法中因子2和5的个数。显然乘法中因子2的个数大于5的个数,所以我们只需统计因子5的个数。
是5的倍数的数有: 1024 / 5 = 204个
是25的倍数的数有:1024 / 25 = 40个
是125的倍数的数有:1024 / 125 = 8个
是625的倍数的数有:1024 / 625 = 1个
所以1024! 中总共有204+40+8+1=253个因子5。
也就是说1024! 末尾有253个0。
int countZeros( int n ){ int num = 0; while( n > 5 ){ n = ( n - (n%5) ) / 5; num += n; } return num;}
我又自己做了一下这道题目,一遍AC,贴代码留念。
AC代码如下:
#include <iostream>using namespace std;int countZeros( int n ){ int num = 0; while( n >= 5 ){ n /= 5; num += n; } return num;}int main(){ int n; while( cin>>n ){ while( n-- ){ int m; cin>>m; cout<<countZeros(m)<<endl; } } return 0;}
0 0
- 【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出
- 100的阶乘末尾有多少个0的问题
- 阶乘N!末尾有多少个0
- 100 的阶乘末尾有多少个0?
- 100 的阶乘末尾有多少个0? .
- N的阶乘(N!)中的末尾有多少个0?
- 100 的阶乘末尾有多少个0?
- N的阶乘末尾有多少个0
- N的阶乘末尾有多少个0
- N的阶乘 有多少个末尾0
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0?
- java实例 N的阶乘末尾有多少个0
- N的阶乘末尾有多少个0
- N的阶乘末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- JNI详解---从不懂到理解
- 机器学习面试2
- poj 1269 Intersecting Lines
- HDU 1003
- Java反射机制详解
- 【经典智力题】1024! 末尾有多少个0?——“计算阶乘末尾0的数量”问题引出
- Android中使用动态代理模式
- Atitit需求文档模板大纲目录 attilax总结
- Spring-MVC框架下对web.xml文件及spring_mvc.xml文件内容的释义资料整理
- python的数学运算符
- vue2.0 中上传文件
- 单例模式-注意线程安全
- 快速排序
- PHP数字金额转中文大写金额