[ACM][2018北理校赛]签到题 【补】

Description

作为签到题当然是很水的啦。你只要输出n!可以被多少个2整除就可以了。

Input

多组数据,每组数据输入一个n(1 <= n <= 10^18)

Output

每组数据输出一行,输出n!可以被多少个2整除。

Sample Input 1 

2
4

Sample Output 1

1
3

题意:给你个数 求阶乘能被多少个2整除

思路:模拟就好 记住数很大 用long long

AC代码:

#include <bits/stdc++.h>

using namespace std;

int main() {
	long long n;
	while (cin >> n) {
		long long cnt = 0;
		while (n) {
			n /= 2;
			cnt += n;
		}
		cout << cnt << endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值