IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Реализация числовых структур данных, без арифметики
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Здравствуйте! Задали нам лабу, которую я никак не могу понять как делать. Задание такое: Найти остаток от деления одного длинного целого на другое. При этом нельзя использовать базовые типы (арифметика многократной точности) и программную реализацию рациональных чисел.
Я даже понятия не имею с чего начинать. Похожее задание делал одногруппник (только там с умножением 2х длинных целых), работал со строками. Помогите пожалуйста с этим заданием если сможете unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Начать следует с того, что более конкретно сформулировать, чем можно пользоваться и чем - нельзя.
Создать программу, не использующую ни одной переменной (а как еще можно воспринимать запрет на ВСЕ базовые типы?), достаточно проблематично. Без базового числового типа не сделаешь даже цикл.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Цитата(andriano @ 14.02.2008 8:42) *

Начать следует с того, что более конкретно сформулировать, чем можно пользоваться и чем - нельзя.
Создать программу, не использующую ни одной переменной (а как еще можно воспринимать запрет на ВСЕ базовые типы?), достаточно проблематично. Без базового числового типа не сделаешь даже цикл.

задание звучит так: Лабораторная работа включает задания по программной реализации точных вычислений, которые не могут быть непосредственно выполнены с использованием базовых типов алгоритмического языка (арифметика многократной точности) и программной реализации рациональных чисел. При реализации заданных структур данных можно использовать любые базовые типы алгоритмического язык. И вариант задания, который я писала выше.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






В таком случае тебе надо просто найти в FAQ-е тему Длинная Арифметика, и воспользоваться тем, что там написано. Ни с одним пунктом твоего задания это не будет конфликтовать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


ок спасибо, поищу
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(Calling @ 14.02.2008 11:39) *

задание звучит так:
...
Вот теперь вполне вменяемое задание - никаких противоестественных ограничений на использование типов.
Цитата
И вариант задания, который я писала выше.
Увы, первоначально описанный "вариант" имеет очень мало общего с тем, что приведено позже.

Ну а самый разумный совет по данной теме уже был приведен: искать либо здесь, либо поисковыми системами по словосочетанию "длинная арифметика".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Женский

Репутация: -  0  +


Цитата(andriano @ 14.02.2008 22:29) *

Увы, первоначально описанный "вариант" имеет очень мало общего с тем, что приведено позже.


Я имела ввиду вариант: Найти остаток от деления одного длинного целого на другое.
Почитала FAQ, но не совсем поняла как делать задание. Пожалуйста, не могли бы вы хотя б набросок сделать этой проги. Извините за такую наглость, просто я дуб-дерево unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Деревья программы не пишут.
Не нужно им это.
Если тебе нужно, значит, ты не дерево, и надо затратить хоть немного собственных усилий для того, чтобы что-то получилось.
Основная идея достаточно проста и полностью совпадает с тем, как мы проводим вычисления с помощью карандаша и бумаги.
Числа мы представляем в виде набора цифр. Для любой пары цифр нам известны таблица умножения и таблица сложения. Пользуясь этими таблицами, а также известным алгоритмом (например в столбик), мы можем проводить вычисления над многозначными числами. Точно так же происходят вычисления и в длинной арифметике - число представляется массивом, а каждый элемент массива - своеобразная цифра. Если в качестве длинных чисел использовать строки, то один знак - десятичная цифра. Если пользоваться примером из FAQ, каждое число массива - это 10000-чная цифра, т.е. цифра, значение которой лежит в диапазоне от 0 до 9999.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.11.2020 2:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name