Длинная арифметика в языках программирования - Лекция

бесплатно 0
4.5 84
Хранение цифр числа в массиве как самый естественный и удобный способ. Реализация сложения и вычитания на языке Pascal. Особенность вычисления квадратного корня в программе. Нахождение наибольшего общего делителя с помощью классического алгоритма.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Стандартных типов для хранений чисел состоящих из 20 и более цифр в рассматриваемых нами языках программирования нет, поэтому первое, что нужно обсудить - это каким образом мы будем хранить наше число в памяти. При сложении «столбиком» двух чисел с разным количеством цифр, числа записываются так, чтобы последние цифры стояли друг под другом. Если мы храним число в массиве, то нам достаточно неудобно передвигать число с меньшим количеством знаков таким образом, чтобы младшие разряды стояли на одинаковых позициях. Так как первая цифра записана в ячейке номер 1, то придется сдвинуть все число на одну позицию вправо и только после этого записать старшую цифру. Во-первых, все числа теперь записаны так, что их последние цифры находятся друг под другом, во-вторых, чтобы добавить к числу цифру слева, нужно просто дописать ее в конец массива.

План
План дальнейшего развития: 1) Попытка сложить два числа и выяснение, что хранить число перевернутым намного удобней.

2) Вычитание из большего меньшее.

3) Умножение на короткое

4) Деление на короткое

5) Умножение длинных

6) *Извлечение квадратного корня двоичным поиском.

7) ** Извлечение квадратного корня за квадрат длины числа.

8) Быстрое возведение в степень.

9) Поиск наибольшего общего делителя. Алгоритм Евклида. Бинарный алгоритм поиска НОД.

6) Сложная штука, я бы поставил звездочку.

7) Этого не было в ЛКШ, хотим ли мы это? Это еще сложней. Но это иногда рассказывают в школе. Так руками корень извлекают.

8) Это выглядит совсем не по теме. Быстрое возведение в степень имеет смысл только по модулю. В обычном случае числа растут быстро, и за счет умножения длинных чисел, такое возведение становится менее эффективным, чем линейное возведение.

Размещено на .ru

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?