2 / 2 / 0
Регистрация: 17.09.2013
Сообщений: 142
|
|
1 | |
Длиные числа03.12.2013, 10:59. Показов 3212. Ответов 1
Метки нет (Все метки)
Одним из недостатков предопределенных целых типов является ограниченный диапазон их значений ("всего" 10 десятичных разрядов для Longint). В некоторых прикладных задачах (например криптографии, задачах бухгалтерии) диапазона предопределенных целых типов не хватает. В этом случае прибегают к программной эмуляции работы с "длинными" целыми числами. Методы программной организации хранения и обработки чисел, выходящих за диапазон стандартных типов, называются длинной арифметикой.
Обычно для хранения длинных целых чисел используют одномерные массивы или строки, в каждом элементе которой хранится одна цифра длинного числа (в случае строк число разрядов таких чисел ограничено значением 255. В случае одномерных массивов это число может быть значительно больше). Основные операции обработки длинных чисел (ввод, вывод, сравнение, сложение, умножение, деление и нахождение остатка от деления) реализуются в виде подпрограмм. Идея реализации указанных операций обычно мало чем отличаются от алгоритмов обработки целых чисел, которым научили в младшей школе на уроках математики: поразрядное сравнение, поразрядное сложение с переносом, поразрядное вычитание с заимствованием и т.д. В данной работе предлагается реализовать некоторые операции обработки длинных неотрицательных целых чисел. Что нужно: 1. Выберите для представления длинных чисел подходящий тип (массив или строку). Помните, каждая из указанных структур имеют преимущества и недостатки, которые будут влиять на реализацию алгоритмов обработки целых чисел в дальнейшем. 2. Объявите псевдоним TLong для представления типа целых чисел с числом разрядов не менее 255. В комментарии укажите, в каком порядке будут располагаться разряды длинного числа в вашем типе (в младших элементах - младшие разряды, или в младших элементах - старшие разряды). 3. Опишите процедуру инициализации переменной типа TLong: процедура должна иметь два параметра, один из которых - переменная для инициализации TLong, второй - строковое значение, которое содержит "естественную" запись длинного числа в виде последовательности цифр. Помните, что при использовании массива, следует обнулять его элементы, соответсвующие старшим разрядам длинного числа. 4. Опишите процедуру, которая выводит заданное длинное число на экран в "естественном" порядке. 5. Опишите процедуру, которая осуществляет вычитание двух длинных чисел (всегда - из большего меньшее). Подсказка: можно попробовать (не обязательно) использовать рекурсию - поразрядное вычитание повторяющаяся регулярная операция. Не забудьте возможность заема из старших разрядов. 6. Напишите программу, которая находит целую часть и остаток от деления одного длинного числа на другое. Исходные числа хранятся в текстовом файле.
0
|
03.12.2013, 10:59 | |
Ответы с готовыми решениями:
1
длиные строки SetCurrentDirectoryW и длиные пути Компьютер загружается, но не грузится даже биос, только есть длиные гудки Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми |
03.12.2013, 12:27 | 2 | |||||
Сообщение было отмечено makaroshka как решение
Решение
Фигасе заявочки. С таким во фриланс, мне кажется
Вот могу дать прогу для "школьного" умножения длинных чисел, вроде работала, када в школе учился
0
|
03.12.2013, 12:27 | |
03.12.2013, 12:27 | |
Помогаю со студенческими работами здесь
2
Определить все натуральные числа m, не превосходящие числа N. Сумма всех цифр числа m-простое число. Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел? Получить из цифр числа четырехзначные числа, у которых цифры исходного числа идут в том же порядке За 1 просмотр файла вывести сначала числа меньше а, потом числа из промежутка а b, затем, числа больше b Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |