N = число в десятичной системе
res = пустая строка
WHILE n не равно 0:
res = привести в строку(остаток от деления n на 2)+res
n = n/2 (нужно делить без остатка Например: (3/2)= 1)
ЗАКОНЧИТЬ WHILE
вывести res
Type
V = array of integer;
var
i, n, ic, nc, kc, imax, nmax, kmax: integer;
a: V;
begin
write('Введите количество чисел N ');
readln(n);
SetLength(a, n + 1);
writeln('Вводите числа');
for i := 0 to n - 1 do read(a[i]);
writeln;
nmax := -32768;
kmax := 0;
imax := 0;
nc := a[0];
kc := 1;
ic := 1;
for i := 1 to n - 1 do
begin
if a[i] = nc then kc := kc + 1
else begin
if kc < 3 then begin
kc := 1;
nc := a[i];
ic := i
end
else
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic;
kc:=1;
nc:=a[i];
ic:=i
end
else begin
kc := 1;
nc := a[i];
ic := i
end
end
end;
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic
end;
writeln('Самая длинная серия содержит ', kmax, ' чисел ', nmax);
for i:=n downto imax+kmax+1 do a[i]:=a[i-1];
a[imax+kmax]:=nmax;
writeln('Модифицированная строка');
for i:=0 to n do write(a[i]:2)
end.
Тестовое решение
Введите количество чисел N 30
Вводите числа
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 3 3 3 3 1 2 3 3 3
Самая длинная серия содержит 6 чисел 8
Модифицированная строка
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 8 3 3 3 3 1 2 3 3
Var
n,k,i,t:integer;
begin
Read(n);
k:=0;
for i:=1 to n do begin
Read(t);
if (t mod 6=0) and (t mod 10=2) then Inc(k)
end;
Writeln(k)
end.
название программы начинается с __ незнаю в чем компилируешь, может ругаться.
убери лишние begin end в условиях, они не нужны там
после readln
if ... then ... else END;
после каждого else if начинается, не нужны begin end, у тебя одно условие там. и одно действие
<span>1) 1000010 = 66
</span><span>2) 1000110 = 70
</span><span>3) 1000011 = 67
</span><span>4) 1001000 = 72
Ответ: 3 вариант</span>