首页 > 代码库 > 不要被阶乘吓到
不要被阶乘吓到
问题1.给定一个整数N,那么N的阶乘N!末尾有多少个0.
问题2:求N!中二进制最低位位1的位置;
java实现:
package 经典;public class 阶乘 { /** * @param args */ public static void main(String[] args) { System.out.println(fictorial(10)+" 中 0 的个数为: "+numOfZero(10)+","+Integer.toBinaryString(fictorial(10))+"中二进制最低位位1的位置"+lowestOne(10)); } public static int fictorial(int n) { int N=1; for(int i=1; i<=n; i++) N=N*i; return N; } public static int numOfZero(int n) { int result=0; int j; for(int i=1; i<=n; i++) { j=i; while(j%5==0) { result++; j/=5; } } return result; } public static int lowestOne(int n) { int ret=0; while(n!=0) { n>>=1; ret+=n; } return ret; }}
不要被阶乘吓到
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。