NYOJ 954 求N!二进制末尾几个0
题目地址:
NYOJ 954
题意:
中文题不解释。
分析:
即是求N!二进制末尾几个0,换句话就是求N!的因子有几个2。
具体做法跟POJ 1401一样,题解见:POJ 1401 && ZOJ 2202 Factorial 阶乘N!的末尾零的个数
代码:
/*
* Author: illuz <iilluzen[at]gmail.com>
* File: 954.cpp
* Create Date: 2014-05-26 20:31:42
* Descripton:
*/
#include <cstdio>
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;
}