CodeForces - 1594A Consecutive Sum Riddle数学计算

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 1594A Consecutive Sum Riddle数学计算相关的知识,希望对你有一定的参考价值。

A. Consecutive Sum Riddle
time limit per test 2 seconds
memory limit per test 256 megabytes

Theofanis has a riddle for you and if you manage to solve it, he will give you a Cypriot snack halloumi for free (Cypriot cheese).

You are given an integer n. You need to find two integers l and r such that −1018≤l<r≤1018 and l+(l+1)+…+(r−1)+r=n.

Input
The first line contains a single integer t (1≤t≤104) — the number of test cases.

The first and only line of each test case contains a single integer n (1≤n≤1018).

Output
For each test case, print the two integers l and r such that −1018≤l<r≤1018 and l+(l+1)+…+(r−1)+r=n.

It can be proven that an answer always exists. If there are multiple answers, print any.

Example
input
7
1
2
3
6
100
25
3000000000000
output
0 1
-1 2
1 2
1 3
18 22
-2 7
999999999999 1000000000001

Note
In the first test case, 0+1=1.

In the second test case, (−1)+0+1+2=2.

In the fourth test case, 1+2+3=6.

In the fifth test case, 18+19+20+21+22=100.

In the sixth test case, (−2)+(−1)+0+1+2+3+4+5+6+7=25.

问题链接CodeForces - 1594A Consecutive Sum Riddle
问题简述:(略)
问题分析:(略)

AC的C语言程序如下:

/* CodeForces - 1594A Consecutive Sum Riddle */

#include <stdio.h>

int main()

    int t;
    scanf("%d", &t);
    while (t--) 
        long long n;
        scanf("%lld", &n);
        printf("%lld %lld\\n", -n + 1, n);
    
    
    return 0;

以上是关于CodeForces - 1594A Consecutive Sum Riddle数学计算的主要内容,如果未能解决你的问题,请参考以下文章

圆形文本字段

mktemp -t -d用法

mktemp -创建一个临时文件或目录

SQL Server SELECT MAX 并添加 1

python pandas - 创建一个保持连续值运行计数的列

codeforces上怎么看测试数据