UVa 10673 Play with Floor and Ceil:数论2014-07-10 synapse7 10673 - Play with Floor and CeilTime limit: 3.000 secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1614
Theorem
For any two integers
x and
k there exists two more integers
p and
q such that:

It’s a fairly easy task to prove this theorem, so we’d not ask you to do that. We’d ask for something even easier! Given the values of
x and
k, you’d only need to find integers
p and
q that satisfies the given equation.InputThe first line of the input contains an integer,
T (1≤T≤1000) that gives you the number of test cases. In each of the following
T lines you’d be given two positive integers
x and
k. You can safely assume that
x and
k will always be less than
108.
Output
For each of the test cases print two integers:
p and
q in one line. These two integers are to be separated by a single space. If there are multiple pairs of
p and
q that satisfy the equation, any one would do. But to help us keep our task simple, please make sure that the values,

and

fit in a
64 bit signed integer.Sample Input Output for Sample Input
分类讨论~答案其实很简单(见代码)完整代码:
01./*0.012s*/02.03.#include<cstdio>04.05.int main(void)06.{07.int t, x, k;08.scanf("%d", &t);09.while (t--)10.{11.scanf("%d%d", &x, &k);12.if (x % k)13.printf("%d %d
", -x, x);14.else15.printf("0 %d", k);16.}17.return 0;18.}
PS:若题目要求p,q非负,则p为-x%(x/k+1)+x/k+1