#include <bits\stdc++.h>
using namespace std;
#define LL long long
const LL MAXN=1000000000;
LL a[30]={1};
LL b[30]={1};
int main()
{
for(int i=1;i<=30;i++)
a[i]=2*a[i-1];
for(int i=1;i<30;i++)
b[i]=a[i]+b[i-1];
int t;
LL n,ans;
scanf("%d",&t);
while(t--)
{
scanf("%I64d",&n);
ans=n*(n+1)/2;
int i=0;
while(n>=a[i])
i++;
i--;
ans-=2*b[i];
printf("%I64d\n",ans);
}
}
cf 598A Tricky Sum
最新推荐文章于 2016-03-17 16:36:10 发布