Смотри: У нас есть 2 команды: 1) Вычитать какое-то число из общего числа 2) Умножить общее число на 2.
Нам дан алгоритм который переводит число 3 в число 18
Алгоритм таков: 2 2 1 2
Что это значит?
1. Сначала идет 2, значит мы берем наше первоначальнео число - 3 и умножаем его на 2. Получается 6
2. Далее идет снова 2, значит мы берем наш ответ - это 6 и уможаем его снова на 2. Получается 12
3. Далее у нас идет 1. Значит нам нужно 12 отнять какое-то число и потом результат умножить на 2, но мы не знаем какое. Давай посмотрим на конечно число - оно равно 18. А последнее действие у нас умножить на 2. Какое число нужно умножить на 2, чтобы получилось 18? ответ: 9. Значит 12-3=9.
3 - это число n
4. Далее снова идет 2. Значит мы берем 9 и умножаем его на 2. Получается 18.
Поделитесь своими знаниями, ответьте на вопрос:
Сложение и вычитание чисел, представленных в коде прямого замещения (двоично-десятичном коде Вторую операцию сложения выполнить с предварительной коррекцией 1) 548+6372)157+763 3)723-5484)236-947
i,sum:integer; // Объявление переменных
begin // Начинаем программу
writeln('Vvedite chislo'); // Вывод текста
readln(s); // Ввод текста
sum:=0; // Присваиваем переменной sum значение 0 чтобы при вводе текста отличного от 0, программа выводила правильный результат то есть 0.
for i:=1 to length(s) do if s[i]='0' then sum:=sum+1; // Запускаем счетчик с 1 до length(s) что значит эта команда, она считает сколько в тексте символов. И проверяем с 1 символа до length(s) совпадает ли символ со значением 0, если совпадает то прибавляем 1.
writeln(sum); // Вывод суммы
end. // Конец программы