Format integers Sergey Svistunov

Compute a checksum over the decimal representations of binary integers as fast as possible.

Input: 250 000 000 uint32 values in little-endian binary on STDIN (4 bytes each).

Output: A uint64 checksum computed as:

CRC = sum of number_crc(n) for each n

where number_crc(n) converts n to its decimal string and sums ascii(digit) * position over each digit (0-indexed from the left).

Example: For n = 42, the decimal string is "42", so number_crc(42) = ascii('4') * 0 + ascii('2') * 1 = 52 * 0 + 50 * 1 = 50.

Back to listMay 14, 2021 20:37Yuriy LyfenkoYuriy LyfenkoError
Source Code

Source code access is restricted. Log in to request access.

Challenge History

No challenges yet.

Run Statistics
#DateScoreWall TimeCPU UserCPU SystemMemoryError
1May 14, 2021 20:3700000exit with code 2: unexpected fault address 0xc0dffdbda2 fatal error: fault [signal SIGSEGV: segmentation violation code=0x1 addr=0xc0dffdbda2 pc=0x55f2e7d26224] goroutine 1 [running]: runtime.throw(0x55f2e7d2735c, 0x5) /usr/lib/go-1.13/src/runtime/pa...
2May 14, 2021 20:3700000exit with code 2: unexpected fault address 0xc0bbf0ee33 fatal error: fault [signal SIGSEGV: segmentation violation code=0x1 addr=0xc0bbf0ee33 pc=0x562803f98224] goroutine 1 [running]: runtime.throw(0x562803f9935c, 0x5) /usr/lib/go-1.13/src/runtime/pa...
3May 14, 2021 20:3800000exit with code 2: unexpected fault address 0xc03edcf756 fatal error: fault [signal SIGSEGV: segmentation violation code=0x1 addr=0xc03edcf756 pc=0x55f114365224] goroutine 1 [running]: runtime.throw(0x55f11436635c, 0x5) /usr/lib/go-1.13/src/runtime/pa...
4May 14, 2021 20:3800000exit with code 2: unexpected fault address 0xc0eb051637 fatal error: fault [signal SIGSEGV: segmentation violation code=0x1 addr=0xc0eb051637 pc=0x56157b778224] goroutine 1 [running]: runtime.throw(0x56157b77935c, 0x5) /usr/lib/go-1.13/src/runtime/pa...