2.2阶乘(N!)

来源:互联网 发布:值得买源码 编辑:程序博客网 时间:2024/06/02 01:59

1.N!末尾有多少个0

因式分解后发现0的数目=5的指数(5的质因数的个数)

for(i=1;i<N;++i)

{

j=i;

while(j)

{

if(j%5==0)

{

     num++;

      j=j/5;

} }

}


2.N!的二进制表示中最低位1的位置

位置=2的质因数的个数+1;

while(N)

{

N=N>>1;

num=num+N;

}


3.求N!(考虑溢出)

定义一个数组存取结果,每一位放入一个数组位中


0 0
原创粉丝点击