var i,z,y,x: integer; // объявление переменных begin // начало программы writeln('Введите числа: '); // Вывод сообщения readln(x,y); // Ввод чисел х и у с клавиатуры while i <> y do // Повторять цикл пока i не будет равно y begin // Вход в цикл z:=z+x; // z = z + x (при первом шаге получается 0 = 0 + х) i:=i+1; // Увеличиваем счетчик цикла на 1 end; // Выход из цикла write(z); // Вывод z (произведение х и у) end. // Конец программы
Числа представлены в двоичной системе счисления. чтобы их перемножить требуется: z = 0 перебирать разряды числа Y, начиная с младшего начало цикла если очередной разряд = 1, прибавить текущее число X к Z; умножить число X на 2. т.к. без умножения, то с битового сдвига на 1 влево в двоичной СС конец цикла собственно, это умножение в столбик в двоичной СС
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку