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

  1. //n! 的二进制表示中最低位1的位置   
  2. int posFact(int n)   
  3. {   
  4.     int ret = 0;   
  5.     while (n)   
  6.     {   
  7.         n >>= 1; //本质上与n!的末尾有多少个0的问题一致,此处等同于 n/=2;   
  8.         ret += n;   
  9.     }   
  10.     return ret;   
  11. }  

posted on 2010-07-01 14:41  庄冠华  阅读(218)  评论(0编辑  收藏  举报

导航