graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

1inf 2023/2024 - Programowanie I, LA

[c3] Suma kontrolna
Data zakończenia: 2024-04-19 14:00
Języki: c
Limit czasu: 1.0 s
Limit pamięci: 5 MB
Cel
Zadanie na operacje bitowe, wejście i wyjście formatowane oraz formaty wejścia i wyjścia.


Problem
Naukowiec pisał program, który gromadził dużą ilość danych. Ponieważ zachodziła obawa, że może dochodzić do przekłamywania pojedynczych bitów, więc stwierdził, że do każdej porcji danych będzie dołączał prostą sumę kontrolną.

Zadanie
Napisz program, który będzie wyliczał sumę kontrolną dla danych w następujący sposób:
Dane podzielone są na 64-bitowe słowa. Suma kontrolna jest 64-bitowym słowem w którym i-ty bit jest jedynką wtedy i tylko wtedy, jeśli w nieparzystej ilości słów danych i-ty bit jest jedynką. (Innymi słowy suma kontrolna jest otrzymywana w wyniku wykonania operacji różnicy symetrycznej (XOR) na bitach słów danych.)
Danymi jest ciąg 64-bitowych słów zapisanych w postaci ósemkowej.
Wyjście jest 64-bitowym słowem zapisanym w postaci 22-cyfrowej liczby zapisanej w systemie ósemkowym (w razie potrzeby uzupełniona zerami do 22 cyfr).

Uwaga: można założyć, że typ unsigned long jest typem 64-bitowym.


Przykład
Wejście
0311731074315342642547
1630632207154417114151
1145112717756454156121
0611252616605272112112
1433503714644343417451
0501766572547506654272
1406670757545654240762
725057024317170524743
557203054112127600174
466611177402210004124
Wyjście
0155213744353325431277
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego