- Стандартные типы данных не поддерживают числа в сотни и тысяч цифр – даже 64-битное целое вмещает только ~20 цифр. Для таких случаев применяется длинная арифметика, которая решает проблемы хранения, выполнения операций и оптимизации скорости.
Принцип работы: число разбивается на ячейки фиксированного размера. В примере ниже используется основание 1 000 000 – каждая ячейка хранит до 6 цифр. Это позволяет эффективно умножать, складывать и выводить большие числа без потери точности.
Пример. Подсчитать факториал 200 (200!).
сonst N = 33; d = 1000000;
Var mas: array [0 .. N] of longint; i, j, k, s: integer;
Begin
mas [0] := 1;
for j := 2 to 100 do begin
k := 0;
for i := 0 to N do begin
s := mas [i] * j + k;
mas [i] := s mod d;
k := s div d; end; end;
// Вывод результата
End.
Информатика • 11 класс
1505
Задачи длинной арифметики. Многоразрядные целые числа (Паскаль)
Было полезно?
Рекомендуем
Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках