题意:求数字之和,但是要减去2的倍数
思路:直接求...
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main ()
{
long long sum,n,t,x;
int i;
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
sum=n*(n+1)/2;
x=sum;
for(i=0;pow(2,i)<=n;i++)
{
sum-=(2*pow(2,i));
}
printf("%lld\n",sum);
}
return 0;
}
题目