我是打表找的规律 233
样例什么作用都没有 只会迷惑作用。。。
1330: 天才琪露诺的完美算数教室
时间限制: 1 Sec 内存限制: 128 MB Special Judge提交: 37 解决: 17
[提交][状态][讨论版]
题目描述
みんなー ちるのの算数教室はじまるよー
アタイみたいな天才めざしてがんばっていってねー
今天,琪露诺教大家异或运算。
“参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。
现在,泥萌已经掌握了异或的基本知识,现在来一道题大展身手吧!”
琪露诺给泥的题是酱紫的:
给定一个数k,泥要找出一个正整数对(l,r),使得l^(l+1)^...^(r-1)^r=k
其中l<r,且均在long long范围内
琪露诺的题泥一定会的,是吧?
输入
第一行给定测试数据组数T(<105)
每组数据仅包含一个非负整数k(<1018)
输出
对每组数据,只需输出一行l和r即可
样例输入
3
0
4
12
样例输出
8 67
97 100
87 90
1 #include <cstdio> 2 typedef long long LL; 3 int main () 4 { 5 int T; scanf ("%d",&T); 6 while (T--) { 7 LL x; scanf ("%lld",&x); 8 if (x==0) puts("1 3"); 9 else if (x==2) puts("3 5"); 10 else if (x==4) puts("1 4"); 11 else if (x%2==1) printf("%lld %lld ",x,x+4); 12 else printf("%lld %lld ",x-4,x); 13 } 14 return 0; 15 }