Восполнить пробелы в знаниях - Turbo Pascal
Формулировка задачи:
Добрый день, уважаемые программисты! Хочется задать теоретический вопрос. Решал я задачку на одном известном ресурсе. Задача называется A-B. Два неотрицательных числа, которые не превышают 10^1000 степени. Нужно вычесть одно из другого. Решил я цифры числа хранить в массиве.
Отсюда суть вопроса возникает!
Создал свой тип
Код:
для экономии памяти, как я думал.
Написал код, отправил на проверку и обнаружил, что программа прошла 13 тестов из 15. На 14 завалилась. Целый день я тестил свою программу разными входными данными и даже дважды ее улучшал, но не в том направлении, т.к. 14 тест мне уже в восьмой раз показывал Wrong answer. И тут я просто от безысходности заменил -9..9 на integer и всё! Задача была сдана! Объясните пожалуйста, почему так???? Ведь цифры не превышают диапазон -9..9, что там такое случилось?
И попутно задам второй вопрос, чтобы не засорять форум:
что эффективнее использовать(память/время) для хранения чисел: список или же динамический массив?
Спасибо!
Решение задачи: «Восполнить пробелы в знаниях»
textual
Листинг программы
for i:=a[0] downto 1 do
Объяснение кода листинга программы
В данном коде происходит цикл, который начинается с индекса a[0] и продолжается до индекса 1. В каждой итерации цикла значение переменной i увеличивается на единицу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д