1. 程式人生 > >xdoj 1330---異或(找規律)

xdoj 1330---異或(找規律)

ref pri discus 運算 討論版 \n 打表 discuss 一道

我是打表找的規律 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\n",x,x+4); 12 else printf("%lld %lld\n",x-4,x); 13 } 14 return 0
; 15 }

 

xdoj 1330---異或(找規律)