NYOJ 954 求N!二进制末尾几个0

2015-07-24 07:25:55 · 作者: · 浏览: 72

NYOJ 954 求N!二进制末尾几个0

题目地址:
NYOJ 954

题意:
中文题不解释。

分析:
即是求N!二进制末尾几个0,换句话就是求N!的因子有几个2。
具体做法跟POJ 1401一样,题解见:POJ 1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数

代码:

/*
*  Author:      illuz 
  
   
*  File:        954.cpp
*  Create Date: 2014-05-26 20:31:42
*  Descripton:   
*/

#include 
   
     int n, ans; int main() { while (~scanf("%d", &n)) { ans = 0; while (n != 0) { ans += n / 2; n /= 2; } printf("%d\n", ans + 1); } return 0; }