Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ищу алгоритм сложения чисел в разных системах счисления

Sedjura Xiko Мастер (1171), закрыт 13 лет назад
Задача - сложение чисел длиной до 1000 знаков в разных системах счисления.
реализация будет в языке паскаль, что дает проблемы.
текст программы необязателен, идеи и алгоритмы приветствуются.

Дополнен 13 лет назад
да, в машине тьюринга проблем бы не было, но одна из проблем как раз представление данных в паскале.
в с можно было бы придумать что-то, но паскаль (

как число в тысячу знаков можно нормально обработать в паскале?
если каждую чифру записать в массив и пото обрабатывать прокатит или нет?

и как нумеровать знаки системы счисления ну к примеру 1000-ричной.
AZ-ZZ
проблема в том, что тогда либо придется писать генератор, либо что-то очень умное придумать
Лучший ответ
Удачник Высший разум (141932) 13 лет назад
Наверное, проще всего сделать числа как массивы на 1000 ячеек.
Алгоритм такой:
Цикл от 1000 до 1 с шагом -1 ' (или от 999 до 0 - не помню, в Паскале массивы начинаются с 0 или с 1)
' Нумерация задом наперед - потому что старший разряд записан в 1 ячейке
S(i) = S(i) + A(i) + B(i) ' Складываем, начиная с последней ячейки
Если S(i) > ОСС, то: ' (ОСС - это основание системы счисления)
S(i-1) = S(i-1) + 1 ' Прибавляем 1 к старшему разряду
S(i) = S(i) - OCC ' Вычитаем ОСС из младшего разряда.
Конец Если
Конец цикла
Конец
Остальные ответы
Константин Тарасов Гуру (2646) 13 лет назад
Ииии, просто в следующий порядок будет переводится единица, если в прошлом порядке было число равное системе счисления .Тогда оно (число в прошлом порядке) будет равно Системе счисления -1.И приводишь оба числа к одной системе счисления. И складываешь. По мне вообще так легче через машину Тьюринга.
Похожие вопросы