【CodeForces

来源:互联网 发布:js 直接写 和 onload 编辑:程序博客网 时间:2024/06/16 06:58


点击打开链接



                                                                                                           Tricky Sum


In this problem you are to calculate the sum of all integers from 1to n, but you should take all powers of two with minus in the sum.

For example, for n = 4 the sum is equal to  - 1 - 2 + 3 - 4 =  - 4, because12 and 4 are 2021 and 22 respectively.

Calculate the answer for t values of n.

Input

The first line of the input contains a single integer t (1 ≤ t ≤ 100) — the number of values of n to be processed.

Each of next t lines contains a single integer n (1 ≤ n ≤ 109).

Output

Print the requested sum for each of t integers n given in the input.

Example
Input
241000000000
Output
-4499999998352516354
Note

The answer for the first sample is explained in the statement.





//            有些编译器不接受long long 所以用_int64 或头文件改成C++

//代码如下:

#include <cstdio>int main(){     long long int sum,mul,ans,k;     long long int n;     int t;     scanf ("%d",&t);     while(t--)      {      ans = 1;         mul = 1;         k = 1;     scanf ("%lld",&n);       sum = n * (n+1) / 2;      while (k <= n)       {       k*=2;       ans++;          }//     for (long long i = 1 ; i <= ans ; i++)//        {//        mul *= 2;//           }        k = k - 1;        sum = sum - 2*k;        printf ("%lld\n",sum);      }return 0;}


原创粉丝点击