【ZOJ3921 2016年浙大2月月赛L】【随机化 答案猜解】Parity Modulo P 大数mod大数mod2

Parity Modulo P

Time Limit: 2 Seconds        Memory Limit: 131072 KB

A Mersenne prime is a prime number of the form Mn = 2n − 1.This is to say that it is a prime number which is one less than a power of two. They are named after Marin Mersenne, a French Minim friar, who studied them in the early 17th century. The first four Mersenne primes (sequence A000668 in OEIS) are 3, 7, 31, and 127.

The 37th Mersenne prime is 23021377-1, which has 909526 decimal digits. You task is to give the parity of (x mod (23021377-1)). That is to say, try to find (x mod (23021377-1)) mod 2.

Input

There are multiple test cases. The input is very huge, nearly 5 MiB. Please use the fast IO methods. The first line of input contains an integer T(T≤ 50) indicating the number of test cases. For each test case:

There is an integer x in one line. (0≤ x< 101300000)

Output

For each test case, if the result is even, then output 0, otherwise output 1.

Sample Input

5
1
2
10
1000000007
12345478431674673261786478321654125365674123451276564712356471253674517132876760

Sample Output

1
0
0
1
0

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void fre() { freopen("c://test//input.in", "r", stdin); freopen("c://test//output.out", "w", stdout); }
#define MS(x,y) memset(x,y,sizeof(x))
#define MC(x,y) memcpy(x,y,sizeof(x))
#define MP(x,y) make_pair(x,y)
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template inline void gmax(T1 &a, T2 b) { if (b>a)a = b; }
template inline void gmin(T1 &a, T2 b) { if (b=909526

于是我们随机化(或者暴力)这4组的答案。就可以AC啦。

【时间复杂度&&优化】
枚举答案的技巧是什么呢?可以按照可能性高低来枚举
先枚举0011 0101 0110 1001 1010 1010

*/


你可能感兴趣的:(题库-ZOJ,随机化)