int cal(int a)
{
int c = 0;
for (; a >> ((c++) + 1) != 0;); //指数为c-1
return c - 1;
}
通过位运算快速取对数,而且应该不会消耗太多资源吧。
嘻嘻,今天写OJ突发奇想的结果。
当然,对于9,10这种数字,可以对返回值做一些改变来获得自己想要的值。
int cal(int a)
{
int c = 0;
for (; a >> ((c++) + 1) != 0;); //指数为c-1
return c - 1;
}
通过位运算快速取对数,而且应该不会消耗太多资源吧。
嘻嘻,今天写OJ突发奇想的结果。
当然,对于9,10这种数字,可以对返回值做一些改变来获得自己想要的值。