您的位置:首页 > 其它

UVa 10673 Play with Floor and Ceil (数论)

2013-09-25 18:24 316 查看


10673 - Play with Floor and Ceil

Time limit: 3.000 seconds

http://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.


Input

The 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

3

5 2

40 2

24444 6

1 1

1 1

0 6

分类讨论~答案其实很简单(见代码)

完整代码:

/*0.012s*/

#include<cstdio>

int main(void)
{
	int t, x, k;
	scanf("%d", &t);
	while (t--)
	{
		scanf("%d%d", &x, &k);
		if (x % k)
			printf("%d %d\n", -x, x);
		else
			printf("0 %d", k);
	}
	return 0;
}


PS:若题目要求p,q非负,则p为-x%(x/k+1)+x/k+1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: