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

rt,由于N!中含有质因数2的个数,等于[N/2]+[N/4]+[N/8]+...,根据以上分析,得到具体算法:

usingSystem;

namespaceConsoleApp

{

classProgram

{

staticvoidMain(string[]args)

{

for(inti=1;i<10;i++)

{

Console.WriteLine(GetOption(i));

}

Console.ReadKey();

}

staticintGetOption(inti)

{

intoption=0;

while(i!=1)

{

i>>=1;

option+=i;

}

returnoption;

}

}

}

你可能感兴趣的:(二进制)