阶乘相关的问题

1.N的阶乘,末尾0的个数

    void nStepMultiply(int Num)
    {
        int result = 0;
        while (Num)
        {
            result += Num / 5;
            Num /= 5;
        }
        cout << result << endl;
    }
0的个数

2.N的阶乘,二进制中的最后一个1的位置

    int positionOfLastOne(int Num)
    {
        int result = 1;
        while (Num)
        {
            result += Num / 2;
            Num /= 2;
        }
        return result;
    }
最后一个二进制1的位置

 

posted @ 2016-07-15 20:26  _in_the_way  阅读(157)  评论(0编辑  收藏  举报