Вопрос № 79440: Уважаемые эксперты помогите пожалуйста решить задачу на использивание списков в арифметических операциях над большими числами. Задачу с сумой и вычитанием я решил. Осталось умножение и деление. Если не сможите написать програмный код, помогите пожалу...
Вопрос № 79.440
Уважаемые эксперты помогите пожалуйста решить задачу на использивание списков в арифметических операциях над большими числами. Задачу с сумой и вычитанием я решил. Осталось умножение и деление. Если не сможите написать програмный код, помогите пожалуйста с алгоритмом!
Заранее благодарен !!!!
Отвечает: Яна
Здравствуйте, Коваленко Максим Юрьевич!
Умножение можно сделать сложением, а деление вычитанием.
Основное в решении задачи - вспомнить алгоритм умножения и деления в столбик.
Умножение:
Нужно умножать первое число на 1,...,9 (рекомендую сохранить в массиве число умноженное на 1...9) Это можно сделать циклом со сложением. Вы в цикле прибавляете к сумме число и получаете следующий элемент массива. Сложение - уже есть.
Затем по алгоритму умножения в столбик:
- умножаете на очередную цифру второго числа и делаете сдвиг (приписываете в конце нужное количество нулей).
Вычитание:
Делаем сдвиг делителя, так чтобы оно было еще меньше делителя, но если сдвигать дальше, то станет больше.
Потом прибавляем делитель к сумме делителей пока сумма меньше делимого, запоминая сколько раз прибавили.
Вот это количество раз будет первой цифрой частного.
Потом вычитаем из делителя получившуюся сумму и повторяем операцию.
И так до тех пор, пока разница не станет меньше делителя, если стала меньше - то это остаток от деления.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 23.03.2007, 09:52