Умножить два числа не используя умножения (циклы) - QBasic
Формулировка задачи:
всем доброго времени суток
во первых - всем спасибо кто помогал мне в прошлой темы и перед ними я извиняюсь так как алгебраический модуль отношения к теме не имел
вообщем надо умножить два числа (допустим a и n) не используя умножения(только +или -) используя только ветвения присваивания и циклы for
в прошлой теме мне подсказали
всё работает только есть загвоздка
(в дальнейшем + это положительное число а - это отрицательное , 0 это ноль)
выполняется только тогда когда
+ и +
- и +
- и 0
а при остальных вариантов не работает
причины создания новой темы - не мало флуда и офтопа в старой
ещё раз извеняюсь good morning , geh
Решение задачи: «Умножить два числа не используя умножения (циклы)»
textual
Листинг программы
'a*b=c FOR i=1 TO ABS(b) STEP 1 c=c+ABS(a) NEXT i IF SGN(a)<>SGN(b) THEN c=-c
Объяснение кода листинга программы
- Задача кода - умножение двух чисел без использования операции умножения и циклов.
- Используются следующие переменные:
a
- первое число для умноженияb
- второе число для умноженияc
- результат умножения
- В начале присваивается значение переменной
c
равное нулю. - Затем используется цикл
FOR
для выполнения операции сложения переменнойc
и абсолютного значения переменнойa
ABS(a)
столько раз, сколько значение переменнойb
больше нуля. - После окончания цикла, проверяется знак переменных
a
иb
. Если они имеют разные знаки, то результат умноженияc
изменяется на противоположный. - Значение переменной
c
является результатом умножения двух чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д