小 B 收到了一串数字,其中包含 nn 个数字。
寄件人想知道这 nn 个数的异或结果,但小 B 并不会求,就把这个问题转交给你。
但他为了使你求得的更方便,于是运用魔法把这 nn 个数都变成了 11 。
现在,你需要求出这 nn 个 11 异或后的结果。
关于异或:
下表为 aa 与 bb 的异或结果: aabba \oplus ba⊕b110011111100000000001111 如果你还是不明白,可以在程序中使用a^b来查看 aa 和 bb 异或的结果。再不明白可在互联网上搜索相关知识。一行一个整数 nn。
一行一个整数,为答案。
对于 30\0% 的数据,1 \leq n \leq 10^61≤n≤106。
对于 50\P% 的数据,1 \leq n \leq 10^91≤n≤109。
对于 100\0% 的数据,1 \leq n \leq 10^{18}1≤n≤1018。
输出时每行末尾的多余空格,不影响答案正确性
样例输入1复制
2样例输出1复制
0样例解释1
两个 11 异或,查表可知结果为 00。
样例输入2复制
3样例输出2复制
1样例解释2
三个 11 异或,结果为 11,可手动在程序中计算出答案。
#include <bits/stdc++.h> using namespace std; int main() { long long n; cin>>n; if(n%2) cout<<1<<endl; else cout<<0<<endl; }小 B 给你两个整数,请你求出两个数当中的公有数字。
公有数字是指某个数字在两个整数中都出现过。只要你的程序在 1s1s 内找到结果,他就可以用这些数字给你变个魔术看。
一行两个整数。
一行几个数字,表示公有的数字,数字间用空格隔开。
输出需按照数字大小由小到大输出。
如果不存在,则输出 -1。
设两个数字中较大的为 nn:
对于 50\P% 的数据,0 \leq n \leq 10^90≤n≤109。
对于 80\