procedure hase(var k,n,max:integer); //сама последовательность begin if not(odd(n)) then n:=n div 2 else n:=n*3+1; //условие про чётность writeln(n); //вывод нового члена последовательности inc(k); //увеличение значения счётчика шагов if max<n then max:=n; //поиск вершины end;
procedure start(var k,n,max:integer); //название процедуры намекает begin readln(n); k:=0; writeln('Seq:'); max:=integer.MinValue; while n<>1 do hase(k,n,max); writeln('Шаги:',k); writeln('Вершина:',max); end; begin start(k,n,max); end. Пример ввода: 6 Пример вывода: Seq: 3 10 5 16 8 4 2 1 Шаги:8 Вершина:16
Для решения этой задачи, нам необходимо использовать условие Фано, которое гласит, что ни одно кодовое слово не может быть префиксом другого кодового слова. Используя это условие, мы можем найти кодовые слова для букв е, ж, з, и.
Из условия задачи мы знаем кодовые слова для букв а, б, в, г, д:
- Для буквы а используется кодовое слово 0.
- Для буквы б используется кодовое слово 10.
- Для буквы в используется кодовое слово 11.
- Для буквы г используется кодовое слово 21.
- Для буквы д используется кодовое слово 22.
Теперь мы можем использовать это для определения кодовых слов для оставшихся букв.
1. Начнем с буквы е. У нас уже есть кодовые слова для букв а, б, в, г, д, поэтому мы должны выбрать новое кодовое слово для буквы е, которое не будет префиксом ни одного другого кодового слова. Поскольку у нас троичный код, мы можем использовать третье значения, то есть 2. Поэтому для буквы е используем кодовое слово 2.
2. Для буквы ж мы должны выбрать кодовое слово, которое также не будет префиксом никакого другого кодового слова. У нас уже есть кодовые слова для букв а, б, в, г, д, е, поэтому мы можем использовать третью цифру, то есть 2. Поэтому для буквы ж используем кодовое слово 22.
3. Наконец, для буквы з мы должны выбрать кодовое слово, которое не будет префиксом никакого другого кодового слова. У нас уже есть кодовые слова для букв а, б, в, г, д, е, ж, поэтому мы можем использовать третью цифру, то есть 2. Поэтому для буквы з используем кодовое слово 22.
Таким образом, минимальная общая длина кодовых слов для букв е, ж, з, и равна 1.
280-десятичная,1011-двоичная, 442-десятичная,13С-шестнадцатиричная