int main() | |
{ | |
unsigned long long table[256]; | |
unsigned int i; | |
for (i=0; i<256; ++i) { | |
unsigned long long j; | |
unsigned char x=i; | |
for (j=0; j<5; ++j) { | |
x += x<<1; | |
x ^= x>>1; | |
} | |
for (j=0; j<5; ++j) { | |
x += x<<1; | |
x ^= x>>1; | |
} | |
for (j=0; j<5; ++j) { | |
x += x<<1; | |
x ^= x>>1; | |
} | |
for (j=0; j<5; ++j) { | |
x += x<<1; | |
x ^= x>>1; | |
} | |
for (j=0; j<5; ++j) { | |
x += x<<1; | |
x ^= x>>1; | |
} | |
table[i] ^= (((unsigned long long)x)<<16); | |
} | |
for (i=0; i<256; ++i) { | |
if ((table[i]&0xff)==i) | |
return 1; | |
} | |
return 0; | |
} | |