Вводится последовательность натуральных чисел. Признак конца ввода - ноль. Необходимо проанализировать подпоследовательности из подряд идущих чисел «`2`» и вывести количество чисел в самой длинной из них.
Паскаль ЗФТШ
Ответы на вопрос:
В этой задаче нам нужно подсчитывать количество чисел и искать максимум среди подсчитанных количеств. Алгоритм будет такой: если очередное число равно `2`, то увеличиваем счётчик количества, если же нет, то это означает, что подпоследовательность закончилась, и надо проверять, не превзошли ли мы максимум, а потом текущий счётчик сбрасывать в `0`. И ещё нужно сделать такую проверку после цикла, поскольку последовательность может закончиться на `2`.
var a,k,max:integer;
begin
max:=0;
k:=0;
read(a);
while a <> 0 do begin
if a = 2
then k := k + 1
else begin
if k > max then max := k;
k := 0
end;
read(a);
end;
if k > max then max := k;
writeln(max)
end.
Відповідь:
10001(2) + 635(10)
17(10) + 635(10) = 652(10)
652(10) = 1010001100(2)
Популярно: Информатика
-
vxtrxxx13.05.2020 22:52
-
vladivanko40014.09.2022 06:07
-
адекс310.04.2023 09:59
-
katyakot5680619.04.2020 13:09
-
omka0228.02.2022 12:29
-
lamowitska03.04.2021 22:51
-
89087039906qazx11.06.2020 23:24
-
dima01200217.02.2021 13:01
-
nikitabars707.02.2023 16:42
-
алалайла04.05.2020 16:42