zzuli 2177

来源:互联网 发布:mac mkv 免费播放器 编辑:程序博客网 时间:2024/05/18 02:15

Description

求n!被2^m整除 m的最大值

Input

第一行输入一个t(t<=1e5),表示有t组数据
每组数据输入一个n(n为int范围内的正整数)

Output

输出一个整数(int范围内),输出占一行

Sample Input

2
1
100000000

Sample Output

0
99999988

Hint

题意

题解:

n!xm

AC代码

#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>using namespace std;const int mod = 1000000007;typedef long long LL;int solve(int cc){    int res = 0;    while (cc){        res += cc/2;        cc/=2; //x为2    }    return res;}int main(){    int t;    scanf("%d",&t);    while (t--){        int n;        scanf("%d",&n);        int ans = solve(n);        printf("%d\n",ans);    }    return 0;}