Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long long Crc32(char *buf, int len)
- {
- long long crc_table[256];
- long long crc;
- long long i, j;
- for (i = 0; i < 256; i++)
- {
- crc = i;
- for (j = 0; j < 8; j++)
- crc = crc & 1 ? (crc >> 1) ^ 0xEDB88320UL : crc >> 1;
- crc_table[i] = crc;
- };
- crc = 0xFFFFFFFFUL;
- while (len--)
- crc = crc_table[(crc ^ *buf++) & 0xFF] ^ (crc >> 8);
- return crc ^ 0xFFFFFFFFUL;
- }
- int main()
- {
- int flag = 1;
- while(flag) {
- char m[100005] = {' '};
- int ch, len = 0;
- while ((ch = getchar()) != '\n' && ch != ' ') {
- if(ch == EOF) {
- flag = 0;
- break;
- }
- else {
- m[len] = ch;
- len++;
- }
- }
- long long ans = Crc32(m, len);
- cout << ans << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement