• Educational Codeforces Round 1 A


    In this problem you are to calculate the sum of all integers from 1 to 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, because 1, 2 and 4 are 20, 21 and22 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.

    Examples
    input
    2
    4
    1000000000
    output
    -4
    499999998352516354
    Note

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

    题意:2,4,这种是2的次方数,我们是减去,其他是加

    解法:先全部加起来,再一个个减去2的倍数就好了

     1 #include<stdio.h>
     2 //#include<bits/stdc++.h>
     3 #include<string.h>
     4 #include<iostream>
     5 #include<math.h>
     6 #include<sstream>
     7 #include<set>
     8 #include<queue>
     9 #include<vector>
    10 #include<algorithm>
    11 #include<limits.h>
    12 #define inf 0x3fffffff
    13 #define lson l,m,rt<<1
    14 #define rson m+1,r,rt<<1|1
    15 #define LL long long
    16 using namespace std;
    17 int main()
    18 {
    19     int t;
    20     __int64 n;
    21     __int64 sum=0;
    22     __int64 a=0;
    23     int ans=1;
    24     cin>>t;
    25     while(t--)
    26     {
    27         ans=1;
    28         sum=0;
    29         a=0;
    30         cin>>n;
    31         sum+=(1+n)*n/2;
    32         //cout<<sum<<endl;
    33         while(ans<=n)
    34         {
    35             sum-=2*ans;
    36             ans=2*ans;
    37         }
    38        // cout<<a<<endl;
    39         cout<<sum<<endl;
    40     }
    41     return 0;
    42 }
  • 相关阅读:
    糗事百科图片爬取
    Linux文件和目录常用命令
    复习
    Win7的快捷键
    开始运行中的快捷键
    TextBox客户端JS赋值 后台获取(转载)
    window.returnValue的用法
    input的readonly属性与TextBox的ReadOnly和Enabled属性区别
    剖析 ADO.NET 批处理更新
    关于C#多线程的WaitHandle
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/5851332.html
Copyright © 2020-2023  润新知