Можно так. цифрой обозначаем порядок в котором она стоит, а количеством обозначаем саму цифру тоет: десятичное число : запись в нашей десятичной сс. 3: 111 14: 21111 102: 311 302051: 12222244666 (система непозиционная, так что порядок седования цифр не имеет значение) если надо записать число в котором цифр больше десяти, то перем буквы латинского алфавита по порядку 213541123451324: 1111223334555556666777889abbccccdddddeeefgg
Gera8061
25.04.2021
Проверено, работает на паскаль авс: 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.
zybin41iz81
25.04.2021
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.как-то так
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Придумайте свою непозиционную систему счисления и запишите в ней числа