ПИТОН Одна торговая сеть проводит опрос потребителей о предпочтительной марке одного из товаров. Марки товара пронумерованы от 1 до K. Каждый участник опроса выбирает одну из K марок. Результаты опроса записываются в блокчейн.
Каждый блок блокчейна имеет следующую структуру. Первое число — это количество записанных голосов в данном блок блокчейна. Назовем его count. Второе число (назовем его sum) — это контрольная сумма всех голосов в предыдущем блоке блокчейна по модулю 4294967291 (то есть остаток от деления суммы голосов на это число). Далее в блоке следует count чисел от 1 до K — зарегистрированные голоса.
В первом блоке контрольная сумма предыдущего блока равна 0.
Последний блок блокчейна особенный, в нем количество записей равно 0, и хранится только контрольная сумма голосов предыдущего блока.
К сожалению, в программу сохранения голосов в блокчейне вкралась ошибка, которая может приводить к искажению информации в блоках блокчейна. А именно, в испорченном блоке все записи об отданных голосах уменьшаются на 1 кроме тех, которые и так равны 1. То есть, если запись об отданном голосе была равна 5, в испорченном блоке она станет равна 4, но запись о голосовании 1 останется 1. Значения count и sum в блоке не искажаются, то есть остаются правильными. Один блок может быть испорчен не более одного раза.
Например, пусть блокчейн состоит из двух блоков следующей структуры:
Одна торговая сеть проводит опрос потребителей о предпочтительной марке одного из товаров. Марки товара пронумерованы от 1 до K. Каждый участник опроса выбирает одну из K марок. Результаты опроса записываются в блокчейн.
Каждый блок блокчейна имеет следующую структуру. Первое число — это количество записанных голосов в данном блок блокчейна. Назовем его count. Второе число (назовем его sum) — это контрольная сумма всех голосов в предыдущем блоке блокчейна по модулю 4294967291 (то есть остаток от деления суммы голосов на это число). Далее в блоке следует count чисел от 1 до K — зарегистрированные голоса.
В первом блоке контрольная сумма предыдущего блока равна 0.
Последний блок блокчейна особенный, в нем количество записей равно 0, и хранится только контрольная сумма голосов предыдущего блока.
К сожалению, в программу сохранения голосов в блокчейне вкралась ошибка, которая может приводить к искажению информации в блоках блокчейна. А именно, в испорченном блоке все записи об отданных голосах уменьшаются на 1 кроме тех, которые и так равны 1. То есть, если запись об отданном голосе была равна 5, в испорченном блоке она станет равна 4, но запись о голосовании 1 останется 1. Значения count и sum в блоке не искажаются, то есть остаются правильными. Один блок может быть испорчен не более одного раза.
Например, пусть блокчейн состоит из двух блоков следующей структуры:
10 0 1 2 3 4 5 6 1 2 1 3 -- первый блок
0 28 -- второй блок
Контрольная сумма всех голосов (1 2 3 4 5 6 1 2 1 3) певого блока равна 28, что сопадает с суммой голосов, записанной во втором блоке. Это означает, что блок не испорчен, что позволяет просто посчитать популярность каждой марки.
Пусть дан блокчейн следующей структуры:
10 0 1 1 2 3 4 5 1 1 1 2 -- первый блок
0 28 -- второй блок
Сумма всех голосов первого блока равна 21, что не совпадает с суммой голосов, записанной во втором блоке. Значит блок испорчен. Можно однозначно восстановить, сколько голосов было подано за каждую марку.
На стандартном потоке ввода сначала задается число K, затем подаются данные в формате, описанном выше. Количество товаров K не меньше 1 и не больше 255. Общее количество участников опроса не превосходит 1000. Числа во вводе могут разделяться произвоным количеством пробелов, табуляций и переводов строк.
На стандартный поток вывода напечатайте K чисел: количество голосов, отданных марки товара.
В современном обществе можно выделить три основных вида носителей информации:
1) бумажный;
2) магнитный;
3) оптический.
Бумажные носители информации.
Одним из самых распространенных носителей информации является бумага. В школе мы записываем информацию в тетради, теоретический материал изучаем по учебникам, при разработке доклада, реферата или другого сообщения необходимые сведения мы находим в других источниках (книгах, энциклопедиях, словарях и т. д) , которые в свою
очередь являются бумажными носителями информации
Первые вычислительные машины работали на перфокартах. Перфокарты делали из плотной бумаги- картона, на которые по определенному правилу с специального «станка» - перфоратора наносили отверстия в виде
небольших дырочек.
Магнитные носители информации
В 1928 году была изготовлена первая магнитная лента. Наши бабушки и дедушки слушали музыку на магнитофонах с магнитной лентой, которую называли «Бабина» .
Магнитная лента оказалась достаточно надежным, долговечным и доступным каждому носителем информации.
В первых ЭВМ (электронно- вычислительных машинах) информация хранилась на магнитных лентах и магнитных дисках
В современных компьютерах в качестве носителя информации используются следующие магнитные носители :
1) дискета (на которую можно поместить данные 3000 перфокарт) .
. Внутри пластмассового корпуса расположен гибким магнитный диск, поверхность которого покрыта специальным магнитным веществом. Информация записывается на обе его поверхности. Чтобы при работе с дискетой ее не надо было переворачивать, внутри флоппи-дисковода (устройства, которое записывает или считывает информацию с дискеты) имеется две магнитные головки, каждая для своей стороны дискеты. Такой диск требует особого обращения, магниты, повышенная температура и влажность разрушают хранящуюся на нем информацию.
2) жесткий магнитный диск или винчестер ( хранит 100 000 и более дискет) . Внутри жесткого металлического корпуса находятся несколько десятков дисков магнитных дисков, размещенных на одной оси . Запись или считывание информации обеспечивается несколькими магнитными головками. В целях сохранения информации и работо жесткие магнитные диски необходимо оберегать от ударов и резких изменений положений системного блока (нельзя наклонять и переворачивать в процессе работы) .
3) стриммеры (стрим-картриджи) - устройства, обеспечивающие запись или считывание звуковой информации . Внутри данного носителя находится магнитная лента.
Оптические носители информации
Самым распространенными носителями информации являются оптические или лазерные диски .
Лазерные диски изготавливают из пластмассы, сверху покрывают тонким слоем из металла и прозрачным лаком, защищающим от незначительных царапин или загрязнений. Запись или считывание информации в CD-дисководе осуществляется с света лазера. При записи лазерный луч выжигает на поверхности диска микроскопические углубления, кодируя тем самым информацию (при считывании -лазерный луч отражается от поверхности вращающегося диска) . Такие диски следует оберегать от пыли и царапин.
Различают CD и DVD диски.
const n=10;
var a:array[1..n+1] of integer;
p,i:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(21);
write(a[i]:4);
end;
writeln;
write('p = '); readln(p);
a[n+1]:=p;
i:=1;
while a[i]<>p do i:=i+1;
if i<=n
then writeln('Искомый элемент найден, его номер = ',i)
else writeln('Искомый элемент не найден');
end.
Пример 1:
Исходный массив:
7 17 16 13 0 1 19 20 12 5
p = 13
Искомый элемент найден, его номер = 4
Пример 2:
Исходный массив:
20 4 5 12 14 10 11 16 18 20
p = 15
Искомый элемент не найден