zoukankan      html  css  js  c++  java
  • 不要被阶乘吓到

    问题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;
        }
    
    }
  • 相关阅读:
    linux sed命令详解
    SQL注入基础知识
    DC-7
    DC-6
    DC-5
    DC-4
    DC-3
    DC-2
    pentestlabs
    任意文件读取和下载
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4008497.html
Copyright © 2011-2022 走看看