编程之美--2.2 不要被阶乘吓倒
来源:互联网 发布:网吧优化工具 编辑:程序博客网 时间:2024/05/16 05:26
问题1 计算阶乘N 末尾有几个0
1 直接考虑到生成0质因数只可能是2和5,然后5肯定比2出现的少;所以计算N!中所有数有多少个质因数5就代表有几个零。
根据上面分析的代码如下:
public static int method1(int n){int ans =0;for(int i=1 ;i<=n;i++){int temp =i;while(temp%5 ==0){ans ++;temp/=5;}}return ans;}
2 看一个25!。可以看到其中提供5的就只有5和10,15,20,25。其中5,10,15,20提供一个5,25提供两个5。可以想到,25/5 代表的是有几个提供5质因素,然后把25/5再/5 代表提供之前的5前提下再提供一个5的数量。
由上特例+书上总结,得到代码:
public static int method2(int n){int ans = 0;while(n!=0){ans += n/5;n/=5;}return ans;}
问题1 计算阶乘N 二进制最低位为1
1 相当于求解N! 的质因素2的个数,方法可以同上面分析。
2 方法二的解法可以参考,面试时候是想不到的。
3 相关题目:和书上说的一样。2的方幂(n&(n-1))==0)
0 0
- 编程之美--不要被阶乘吓倒
- [编程之美]不要被阶乘吓倒
- 编程之美---不要被阶乘吓倒
- 编程之美:不要被阶乘吓倒
- 编程之美--不要被阶乘吓倒
- 《编程之美》2.2 不要被阶乘吓倒(c++ 源码)
- 编程之美2.2——不要被阶乘吓倒
- 编程之美-2.2-不要被阶乘吓倒
- 编程之美2.2不要被阶乘吓倒
- 编程之美2.2 不要被阶乘吓倒
- [编程之美] 2.2 不要被阶乘吓倒
- 编程之美--2.2 不要被阶乘吓倒
- 编程之美2.2 不要被阶乘吓倒
- 编程之美读书笔记2.2—不要被阶乘吓倒
- 编程之美2.2不要被阶乘吓倒Java版
- 编程之美2.2 不要被阶乘吓倒
- 【编程之美】不要被阶乘吓倒+SOJ-1159
- 编程之美_2.2_不要被阶乘吓倒
- 开发中关于日期的处理:NSDate中取出日期、取出时间等
- 真正解决ASP.NET每一个页面首次访问超级慢的问题
- 机房收费系统(3)-梳理关系
- 关于IOS后台执行
- Caused by: java.lang.UnsatisfiedLinkError: 错误
- 编程之美--2.2 不要被阶乘吓倒
- 软技巧相关【5001】Team管理之工作梳理
- 056:hibernate树状结设计(至关重要)
- HDU 2087 剪花布条 KMP题解
- 编译器&调试---Android项目遇到"TheType R is already defined"
- Python练习代码 -- 单元测试 使用unittest
- 【漫立方译】交互式GPU光线追踪——用于基于物理的灯光预览
- hdu 1003 求连续子数列的最大和
- 职业规划