846 | 423 | 211 | 105| 52 | 26 | 13 | 6 | 3 | 1
---------------------------------------------------------
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 число записывается справа налево:
846₁₀= 1101001110₂= 1516₈ = 34E₁₆
1533 | 716 | 358 | 179 |89 | 44| 22| 11 | 5 | 2 | 1
--------------------------------------------------------------
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1| 0 | 1
1533₁₀=10110011001₂ = 2775₈ = 5FD₁₆
1101001110₂ + 10110011001₂ =100011100111₂
1516₈ + 2775₈ = 4513₈
34E₁₆ + 5FD₁₆ = 94B₁₆
Var
s, res: string;
k, i, j: integer;
c: char;
begin
read(s);
s := s + chr(10);
for i := 1 to length(s) do
if s[i] = c then
k := k + 1
else begin
if k <= 2 then
for j := 1 to k do
res := res + c
else
res := res + '^' + inttostr(k) + c;
c := s[i];
k := 1;
end;
writeln(res);
end.
№1
а)
1-й шаг - длина цепочки - 3 символа
2-й шаг - в этой цепочке 3 буквы с-но число букв кратно трём. Прибавляем букву "С" в конец цепочки. Получаем цепочку РТПС
3-й шаг - меняем каждую букву на следующую, используя русский алфавит. Получаем СУРТ
4-й шаг - переписываем цепочку от конца к началу. Проще говоря: переворачиваем её. Из СУРТ получаем ТРУС
Результат: ТРУС
ЗА
1-й шаг - длина цепочки 2 символа
2-й шаг - 2 не кратно числу 3, с-но прибавляем букву "С" в начало цепочки. Получаем цепочку СЗА
3-й шаг - меняем каждую букву на следующую, используя русский алфавит. Получаем ТИБ
4-й шаг - переписываем цепочку от конца к началу. Проще говоря: переворачиваем её. Из ТИБ получаем БИТ
Результат: БИТ
б)
Дальше расписывать так-же подробно не буду, алгоритм всё равно тот-же
1-й шаг: ЁГКГФ - 5
2-й шаг: СЁГКГФ
3-й шаг: ТЖДЛДХ
4-й шаг: ХДЛДЖТ
5-й шаг: ХДЛДЖТ - 6
6-й шаг: ХДЛДЖТС
7-й шаг: ЦЕМЕЗУТ
8-й шаг: ТУЗЕМЕЦ
p.s
сорян если ошибки =(
Var b,c:integer;
a: array [1..20] of integer; {объявляем массив}
begin
randomize; {говорим что будем использовать в теле программы рандомные числа}
for b:=1 to 15 do begin {жи есть цикл программы который заполняет наш массив от первой ячейки (b) до 15 ячейки }
a[b]:=random(1000); {присваиваем элементам массива рандомные значения}
write(a[b]); {выводим эти значения}
writeln(' <== ',a[b]*2); {рядом выводим точно такой же массив с такими же числами, только умноженными на 2 , а стрелочка для красоты }
end;
<span>end.
надеюсь что так можно? ;D
</span>