问题1:给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。
int lowestOnePosi(int n)
{
int num=0;
while(n)
{
num+=n/5;
n=n/5;
}
return num;
}
问题2:求N!的二进制表示中最低位1的位置
code:
int lowestOnePosi(int n)
{
int num=0;
while(n)
{
n>>=1;
num+=n;
}
return num;
}