Задан массив натуральных чисел размером 30 элементов.элементы массива могут принимать значения от 1 до 1000.напишите программу в паскале нахождения и вывода на экран суммы элементов самой длинной последовательности подряд идущих нечетных элементов массива.если такой последовательности не существует, то программа должна вывести об этом сообщение.если таких последовательностей несколько, то суммировать можно элементы любой из них.входные данные: program rabota_s_massivom; const n=30; var m: array[1..n] of integer; i,k,s,kmax,reserve: integer; begin for i: =1 to n do readln(m[i]); end.
178
180
Ответы на вопрос:
Проверено, работает на паскаль авс: program rabota_s_massivom; uses crt; label metka; const n=30; var m: array[1..n] of integer; i,k,s,kmax,reserve: integer; begin for i: =1 to n do begin write('введите ',i,'-й элемент: '); readln(m[i]); end; writeln('массив: '); for i: =1 to n do begin write(m[i],' '); end; k: =1; {число элементов в текущей последовательности. изначально считаем, что последовательность состоит из одного (первого) элемента} {ищем первый нечётный элемент: } repeat reserve: =reserve+1; until (m[reserve] mod 2 = 1) or (reserve = 30); writeln(reserve); if (m[reserve] mod 2 = 0) and (reserve = 30) then begin writeln('все числа чётные. искомая последовательность не существует'); goto metka; end; s: =m[reserve]; {сумма элементов текущей последовательности пока что равна первому нечётному элементу} kmax: =0; {наибольшая длина последовательности} for i: =reserve+1 to n do {перебираем все элементы, начиная с первого нечётного} begin if (m[i] mod 2 = 1) then {если текущее число всё ещё нечетно} begin s: =s+m[i]; {увеличиваем сумму последовательности} k: =k+1 {увеличиваем счётчик длины последовательности} end else {если встретилось четное число} begin if k> kmax then {проверяем, не является ли полученная последовательность длиннее нашего максимума} begin {если да: } kmax: =k; {запоминаем новую длину последовательности} reserve: =s {запоминаем сумму её элементов} end; k: =0; {устанавливаем длину новой последовательности равной 0} s: =0 {сумма элементов этой последовательности тоже пока что = 0} end; end; if k> kmax then {если самая длинная последовательность находится в конце массива, проверим ещё раз текущий максимум} begin kmax: =k; reserve: =s end; writeln('самая длинная последовательность нечётных чисел состоит из ',kmax,' элементов'); writeln('и сумма этой последовательности равна ',reserve); metka: end.
Program rabota_s_massivom; const n = 10; var m : array[1..n] of integer; i, max, nowmax, maxindex, index, summ : integer; begin for i : = 1 to n do readln(m[i]); for i : = 1 to n do begin if m[i] mod 2 > 0 then begin if nowmax = 0 then index : = i; nowmax : = nowmax + 1; if (i = n) and (nowmax > max) then begin max : = nowmax; maxindex : = index; end; end else if nowmax > max then begin max : = nowmax; maxindex : = index; nowmax : = 0; end; end; if max = 0 then writeln('не существует') else begin summ : = 0; for i : = maxindex to maxindex + max - 1 do summ : = summ + m[i]; writeln('сумма: ', summ); end; end.как-то так
1) k=7 бит n=2^k=2^7=128 чисел в диапазоне от 1 до n все по той же формуле хартли k=log2(n), из которой следует, что n=2^k2) поскольку появление в сообщении определенного числа месяца, определенного месяца и определенного часа равновероятно из общего числа дней в месяце, общего числа месяцев, общего числа часов, то количество информации определяется по формуле: 2^i=n, где i – количество информации, n=31*12*24 – (количество дней в месяце)*(количество месяцев)*(количество часов в сутках). отсюда: 2^i=31*12*24=8928, i=log2(31*12*24)≈13.12412131 бит. ps надеюсь догадаетесь что 2 у логарифма пишется внизу.3) если 7 карандашей - то √7 = 2.64 бита. если б было 8, то было бы 3 бита: используем формулу , где n – количество возможных событий,i – количество информацииn = 8 i - ? n = 8 = i = 3
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
gasisivlasova05.07.2021 17:54
-
smashsmash83p08jrb04.09.2020 17:25
-
дэн16514.04.2022 06:56
-
Оператор228803.01.2021 02:12
-
Viktor070714.05.2022 09:05
-
Ови1113.11.2022 15:26
-
Ʈгiceгatoρѕ21.11.2021 11:05
-
nikitkanikita121.05.2021 14:26
-
Милка11146788438812.12.2022 14:09
-
AnastasiaStoyn22.01.2023 00:06
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.