关闭

(二) Q - Q tricky sum

96人阅读 评论(0) 收藏 举报
分类:
Q - Q
Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Description

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 12 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.

Sample Input

Input
2
4
1000000000
Output
-4
499999998352516354

Hint

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


题意:求从1 到n的和,2的次幂为负,其他为正

 先把n内2的次幂数加起来,1-n的和减去2*上面的和

代码:

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



0
0
查看评论

coderforce 598A. Tricky Sum(math)

题意:计算1-n的和规则:如为2的次方,则sum-=i,否则为sum+=i;最后求sum; 解:可以把1-n的和全部求出来,再减去其中为2的次方数的2倍就是sum; #include #include #include using namespace std; #define LL long l...
  • zyx520ytt
  • zyx520ytt
  • 2015-11-15 17:44
  • 340

Coderforce 598A Tricky Sum (数学)

题意:求数字之和,但是要减去2的倍数 思路:直接求... #include #include #include #include #include #include using namespace std; int main () { long long sum,n,t,x; ...
  • qq_21057881
  • qq_21057881
  • 2016-01-28 15:20
  • 586

强化学习系列<2>、Q-Learning

、Q-Learning Q learning 也是一个决策过程; Q-Learning决策过程: 假设我们的行为准则已经学习好了, 现在我们处于状态s1, 我在写作业, 我有两个行为 a1, a2, 分别是看电视和写作业, 根据我的经验, 在这种 s1 状态下, a2 写作业 带来的潜在奖励要...
  • Julialove102123
  • Julialove102123
  • 2017-05-02 21:35
  • 815

codeforces 598A Tricky Sum

Description 求和是一种最常见的运算,我们经常做的就是1加到n的和。例如,1加到100的和是5050。但是现在,我们稍微变动一下求和方法,对于属于2的幂次的数,我们做的是减法,其余仍旧做加法。例如,当n=4的时候,最后的结果应该是-1-2+3-4=-4,因为1、2、4分别是2的0次方...
  • z1192277815
  • z1192277815
  • 2016-07-21 23:06
  • 139

Codeforces 598A Tricky Sum 【计数】

A. Tricky Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In this problem ...
  • chenzhenyu123456
  • chenzhenyu123456
  • 2015-11-15 18:27
  • 562

Tricky Sum(等比数列)

Tricky Sum Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:262144KB     64bit IO Fo...
  • hpulw
  • hpulw
  • 2016-03-12 18:36
  • 339

Deep Q-Network 学习笔记(一)

一、思路                                        ...
  • bbbeoy
  • bbbeoy
  • 2018-01-17 08:59
  • 48

题解: Codeforces 598A Tricky Sum (水)

……题目 A. Tricky Sum time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output In this p...
  • sun897949163
  • sun897949163
  • 2015-12-06 18:05
  • 580

django Q方法

一般在django中查询数据库都是用queryset方法,当查询条件比较多的时候,Q对象的作用就显现了,他能让代码 更可读逻辑更清晰。 深度先不研究,主要看看如何用的。 category_articles = Article.objects.filter( ...
  • hexiaodouaipiqiu
  • hexiaodouaipiqiu
  • 2016-11-20 17:28
  • 719

CodeForces 598A:Tricky Sum【数学】

Tricky Sum Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Sub...
  • lin14543
  • lin14543
  • 2016-03-12 15:57
  • 335
    个人资料
    • 访问:88286次
    • 积分:4907
    • 等级:
    • 排名:第6916名
    • 原创:416篇
    • 转载:17篇
    • 译文:2篇
    • 评论:0条