ИКБО-13-23

Вариант №1

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('29319')
16168

>>> main('5545')
18778

>>> main('5560')
16731

>>> main('1251')
6222

Вариант №2

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main([('D1', '0x11'), ('D2', '0x18'), ('D3', '0x2b'), ('D4', '0x13e')])
166902801

>>> main([('D1', '0x25'), ('D2', '0x3'), ('D3', '0x2a'), ('D4', '0x9f')])
83534245

>>> main([('D1', '0x1'), ('D2', '0x1'), ('D3', '0x3'), ('D4', '0x61')])
50868353

>>> main([('D1', '0x4b'), ('D2', '0x1c'), ('D3', '0x14'), ('D4', '0x171')])
193547851

Вариант №3

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('1444791')
(55, 14, 2, 3, 1)

>>> main('1589293')
(45, 0, 16, 4, 1)

>>> main('331117')
(45, 5, 67, 2, 0)

>>> main('1622168')
(24, 2, 48, 4, 1)

Вариант №4

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main('0x5f625b64')
'0x125f62406d'

>>> main('0x7d2681c9')
'0x4fd268007'

>>> main('0xa3cf613')
'0xd0a3cc0d8'

>>> main('0x149b4685')
'0x14149b401a'

Вариант №5

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main({'C1': '17', 'C2': '127', 'C3': '17', 'C4': '42'})
44613521

>>> main({'C1': '72', 'C2': '38', 'C3': '19', 'C4': '60'})
63542088

>>> main({'C1': '20', 'C2': '91', 'C3': '2', 'C4': '18'})
18951572

>>> main({'C1': '73', 'C2': '191', 'C3': '27', 'C4': '0'})
909257

Вариант №6

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('23972074')
'21588910'

>>> main('18296191')
'32314873'

>>> main('13465410')
'5688619'

>>> main('32376312')
'17166320'

Вариант №7

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main((23, 2, 536, 7, 204, 15))
'8267959383'

>>> main((20, 2, 789, 7, 265, 25))
'13700664020'

>>> main((25, 0, 26, 0, 227, 21))
'11512319257'

>>> main((27, 1, 430, 2, 318, 20))
'11071182651'

Вариант №8

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main([('Q1', 3), ('Q2', 889), ('Q3', 0), ('Q4', 96)])
'0x303793'

>>> main([('Q1', 7), ('Q2', 895), ('Q3', 1), ('Q4', 88)])
'0x2c77f7'

>>> main([('Q1', 9), ('Q2', 117), ('Q3', 1), ('Q4', 123)])
'0x3dc759'

>>> main([('Q1', 15), ('Q2', 981), ('Q3', 1), ('Q4', 74)])
'0x257d5f'

Вариант №9

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: шестнадцатиричная строка.

Тесты:

>>> main('63007587603')
('0x113', '0x3e', '0xb', '0xb8', '0x75')

>>> main('212327268917')
('0x35', '0x1', '0x1', '0xfb', '0x18b')

>>> main('109548253731')
('0x23', '0x59', '0x5', '0x19', '0xcc')

>>> main('99484653203')
('0x93', '0x2b', '0xf', '0x9b', '0xb9')

Вариант №10

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main({'Q1': '111', 'Q2': '7', 'Q3': '2', 'Q4': '0', 'Q5': '122', 'Q6': '9'})
'620004335'

>>> main({'Q1': '75', 'Q2': '93', 'Q3': '1', 'Q4': '0', 'Q5': '350', 'Q6': '15'})
'1052536523'

>>> main({'Q1': '77', 'Q2': '4', 'Q3': '1', 'Q4': '1', 'Q5': '394', 'Q6': '35'})
'2400535117'

>>> main({'Q1': '74', 'Q2': '44', 'Q3': '2', 'Q4': '1', 'Q5': '340', 'Q6': '17'})
'1185519178'

Вариант №11

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('11928515')
{'K1': 195, 'K2': 3, 'K3': 22, 'K4': 1, 'K5': 2}

>>> main('30941907')
{'K1': 211, 'K2': 34, 'K3': 24, 'K4': 0, 'K5': 7}

>>> main('14921436')
{'K1': 220, 'K2': 174, 'K3': 3, 'K4': 1, 'K5': 3}

>>> main('32364601')
{'K1': 57, 'K2': 216, 'K3': 13, 'K4': 1, 'K5': 7}

Вариант №12

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main([('H1', 2), ('H2', 1), ('H3', 13), ('H4', 0)])
'214'

>>> main([('H1', 0), ('H2', 2), ('H3', 7), ('H4', 1)])
'376'

>>> main([('H1', 2), ('H2', 0), ('H3', 4), ('H4', 0)])
'66'

>>> main([('H1', 3), ('H2', 3), ('H3', 3), ('H4', 1)])
'319'

Вариант №13

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('4179574453')
524203513

>>> main('3354214393')
3980392903

>>> main('208725947')
1894234892

>>> main('2210539381')
3257365891

Вариант №14

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('294453797')
436494373

>>> main('521587534')
228049934

>>> main('500871969')
359101473

>>> main('234879468')
536050732

Вариант №15

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main({'O1': '2', 'O2': '0', 'O3': '40', 'O4': '151', 'O6': '9'})
'604598914'

>>> main({'O1': '0', 'O2': '2', 'O3': '66', 'O4': '206', 'O6': '12'})
'806151208'

>>> main({'O1': '1', 'O2': '0', 'O3': '21', 'O4': '120', 'O6': '15'})
'1007124817'

>>> main({'O1': '3', 'O2': '1', 'O3': '190', 'O4': '217', 'O6': '3'})
'202218471'

Вариант №16

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main(31863)
'4087'

>>> main(450)
'14338'

>>> main(12973)
'21293'

>>> main(6121)
'31081'

Вариант №17

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main([('L1', 60), ('L2', 13), ('L3', 12)])
'0xc37c'

>>> main([('L1', 59), ('L2', 62), ('L3', 5)])
'0x5fbb'

>>> main([('L1', 8), ('L2', 20), ('L3', 7)])
'0x7508'

>>> main([('L1', 24), ('L2', 56), ('L3', 6)])
'0x6e18'

Вариант №18

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Целое.

Тесты:

>>> main('0xb89e2237c')
38082328748

>>> main('0x4ed032114')
35517566676

>>> main('0x8a52f97df')
25588370031

>>> main('0xff7faf102')
52680130418

Вариант №19

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(429933)
[('H1', '109'), ('H2', '143'), ('H3', '3'), ('H4', '0')]

>>> main(1294514)
[('H1', '178'), ('H2', '448'), ('H3', '1'), ('H4', '1')]

>>> main(1006821)
[('H1', '229'), ('H2', '348'), ('H3', '7'), ('H4', '0')]

>>> main(1428932)
[('H1', '196'), ('H2', '461'), ('H3', '2'), ('H4', '1')]

Вариант №20

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.

Тесты:

>>> main((3, 49, 3, 0))
123776

>>> main((2, 33, 1, 0))
49920

>>> main((0, 22, 5, 0))
175104

>>> main((1, 40, 4, 0))
151680

Вариант №21

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main({'M1': '36', 'M2': '2', 'M3': '6', 'M4': '49', 'M5': '24'})
'12786852'

>>> main({'M1': '22', 'M2': '1', 'M3': '4', 'M4': '11', 'M5': '22'})
'11581526'

>>> main({'M1': '22', 'M2': '7', 'M3': '0', 'M4': '52', 'M5': '29'})
'15417814'

>>> main({'M1': '54', 'M2': '7', 'M3': '7', 'M4': '115', 'M5': '7'})
'4145142'

Вариант №22

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(89036734)
[('B1', '30'), ('B2', '189'), ('B3', '58'), ('B4', '0'), ('B5', '21')]

>>> main(368344904)
[('B1', '8'), ('B2', '506'), ('B3', '17'), ('B4', '3'), ('B5', '87')]

>>> main(535520179)
[('B1', '19'), ('B2', '285'), ('B3', '45'), ('B4', '2'), ('B5', '127')]

>>> main(404434600)
[('B1', '8'), ('B2', '373'), ('B3', '44'), ('B4', '1'), ('B5', '96')]

Вариант №23

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main(65578545)
[('O1', '561'), ('O2', '9'), ('O3', '977'), ('O4', '1'), ('O5', '0')]

>>> main(155117930)
[('O1', '362'), ('O2', '26'), ('O3', '637'), ('O4', '0'), ('O5', '2')]

>>> main(399038398)
[('O1', '958'), ('O2', '21'), ('O3', '913'), ('O4', '1'), ('O5', '5')]

>>> main(251858957)
[('O1', '13'), ('O2', '4'), ('O3', '518'), ('O4', '1'), ('O5', '3')]

Вариант №24

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Целое.

Тесты:

>>> main(576130)
18004

>>> main(964002)
30125

>>> main(238422)
1056026

>>> main(1400073)
43752

Вариант №25

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Тесты:

>>> main('11574633')
(361, 14, 706, 0)

>>> main('5155829')
(501, 21, 314, 0)

>>> main('33948404')
(244, 1, 24, 2)

>>> main('39704395')
(331, 11, 375, 2)

Вариант №26

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main((340, 159, 73, 1, 8))
'0x11933f54'

>>> main((66, 83, 54, 0, 31))
'0x3e6ca642'

>>> main((251, 110, 69, 1, 31))
'0x3f8adcfb'

>>> main((481, 239, 85, 0, 25))
'0x32abdfe1'

Вариант №27

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main([('Z1', 60), ('Z2', 13), ('Z4', 20), ('Z5', 5), ('Z6', 26)])
'441781564'

>>> main([('Z1', 132), ('Z2', 10), ('Z4', 61), ('Z5', 5), ('Z6', 14)])
'241126020'

>>> main([('Z1', 248), ('Z2', 4), ('Z4', 46), ('Z5', 12), ('Z6', 2)])
'46892280'

>>> main([('Z1', 66), ('Z2', 15), ('Z4', 47), ('Z5', 7), ('Z6', 0)])
'8113986'

Вариант №28

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Десятичная строка.

Тесты:

>>> main('0xb79df8c8a')
'51182145775'

>>> main('0x40087f5af')
'335459395'

>>> main('0x901cddea')
'19371113486'

>>> main('0xe9a637b27')
'21373084977'

Вариант №29

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Десятичная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('2051638')
('6', '250', '0', '0')

>>> main('152864953')
('9', '228', '0', '36')

>>> main('23767181')
('13', '85', '1', '5')

>>> main('245352382')
('14', '254', '0', '58')

Вариант №30

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Десятичная строка.

Тесты:

>>> main([('H1', 201), ('H2', 12), ('H3', 5)])
'47305'

>>> main([('H1', 68), ('H2', 10), ('H3', 1)])
'13380'

>>> main([('H1', 370), ('H2', 1), ('H3', 4)])
'33650'

>>> main([('H1', 507), ('H2', 3), ('H3', 2)])
'18427'

Вариант №31

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Целое.

Тесты:

>>> main('379047235')
448672963

>>> main('393633435')
498252699

>>> main('156532060')
438553308

>>> main('226535480')
268790840

Вариант №32

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main(2653981239363)
'0x43f6f5349b'

>>> main(2251381722543)
'0x1af186706ce'

>>> main(217066391254)
'0x2d64522192a'

>>> main(3140590442370)
'0x3829c8b6dc7'

Вариант №33

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x34d020')
[('Y1', '32'), ('Y2', '208'), ('Y3', '4'), ('Y4', '3')]

>>> main('0x5e5d1')
[('Y1', '209'), ('Y2', '229'), ('Y3', '5'), ('Y4', '0')]

>>> main('0xdfd16')
[('Y1', '22'), ('Y2', '253'), ('Y3', '13'), ('Y4', '0')]

>>> main('0x841f4')
[('Y1', '244'), ('Y2', '65'), ('Y3', '8'), ('Y4', '0')]

Вариант №34

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.

Тесты:

>>> main((556, 342, 218, 124, 6, 15))
17350823074348

>>> main((1004, 1013, 14, 274, 4, 2))
2822346102764

>>> main((129, 892, 155, 348, 0, 82))
90253532459137

>>> main((160, 730, 250, 221, 6, 16))
18476406892704

Вариант №35

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('0x2b11323')
('35', '2', '6', '5')

>>> main('0x9c3ec')
('108', '3', '1', '0')

>>> main('0x11bb881')
('1', '7', '3', '2')

>>> main('0x2e72c4b')
('75', '14', '12', '5')

Вариант №36

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Шестнадцатиричная строка.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main('0x19eb79')
'0x64f5bc'

>>> main('0x4d30a')
'0x286982'

>>> main('0x6a413')
'0x4c5203'

>>> main('0x181b3e')
'0x780d9c'

Вариант №37

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Кортеж из битовых полей в порядке от младших бит к старшим. Значения битовых полей имеют тип: целое.

Выходные данные:

Шестнадцатиричная строка.

Тесты:

>>> main((189, 194, 5, 575))
'0x23f50184bd'

>>> main((476, 199, 3, 824))
'0x3383018fdc'

>>> main((375, 239, 12, 276))
'0x114c01df77'

>>> main((293, 254, 7, 32))
'0x20701fd25'

Вариант №38

Задача №8

Реализовать функцию для транскодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Целое.

Выходные данные:

Целое.

Тесты:

>>> main(478570)
132917

>>> main(19129)
131114

>>> main(263062)
1038

>>> main(56204)
393326

Вариант №39

Задача №8

Реализовать функцию для декодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции.

Входные данные:

Десятичная строка.

Выходные данные:

Словарь из битовых полей. Значения битовых полей имеют тип: десятичная строка.

Тесты:

>>> main('16135815')
{'Z1': '7', 'Z2': '52', 'Z3': '99', 'Z4': '15', 'Z5': '0'}

>>> main('166831213')
{'Z1': '13', 'Z2': '35', 'Z3': '26', 'Z4': '31', 'Z5': '1'}

>>> main('352838912')
{'Z1': '0', 'Z2': '40', 'Z3': '126', 'Z4': '80', 'Z5': '2'}

>>> main('116712780')
{'Z1': '12', 'Z2': '42', 'Z3': '78', 'Z4': '111', 'Z5': '0'}

Вариант №40

Задача №8

Реализовать функцию для кодирования данных, содержащих битовые поля. В решении необходимо использовать побитовые операции. Неиспользуемые поля результата должны содержать нулевые биты.

Входные данные:

Список из битовых полей в виде пар имя-значение. Значения битовых полей имеют тип: целое.

Выходные данные:

Целое.

Тесты:

>>> main([('Z1', 4), ('Z2', 141), ('Z4', 30), ('Z5', 27), ('Z6', 3)])
3689940076

>>> main([('Z1', 5), ('Z2', 82), ('Z4', 16), ('Z5', 53), ('Z6', 12)])
13782483605

>>> main([('Z1', 5), ('Z2', 198), ('Z4', 17), ('Z5', 14), ('Z6', 13)])
14202439221

>>> main([('Z1', 1), ('Z2', 138), ('Z4', 15), ('Z5', 25), ('Z6', 14)])
15459681361