![]() |
|
|
![]()
|
|
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: нет Всего: 18 |
Вот, думаю, названию подфорума соответствует:
Есть два целых числа, записанные в строку (что, вообще-то, неважно). Могут быть отрицательными и/или положительными (что тоже неважно). Нужно сравнить их по модулю, какое больше, какое меньше. То есть превратить их в число нереально. Вычесть из одного другое тоже нельзя. (Для этого-то и сравниваю). Можно по порядкам сравнивать или еще как. Алгоритм я сделаю, вы только опишите, что и как алгоритмизировать. Или расскажите, как сложить или вычесть такие числа, учитывая, что один может быть положительным, другой отрицательным и еще три варианта со знаками. Стандартная всячина для работы со сверхбольшими числами неподходит. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Нужны правила формирования строкового представления. А вообще так:
1) Обрезаем нецифровые символы спереди и сзади (в т.ч. знак). 2) Обрезаем ведущие нули. 3) Если длины строк разные, больше то число чья строка длиннее. 4) Если длины одинаковы, делаем обычное сравнение строк. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| De Gray |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 18.2.2005 Где: Регистрация? Репутация: 1 Всего: 4 |
Они могут быть в дополнительном дополнительном коде, так что знак может быть явно не задан. В таком случае, 1) Если у обоих 1- ая цифра 0 -- меньше то, у которого 1-ый отличающийся символ меньше. 2)Если у обоих 1- ая цифра 1 -- меньше то, у которого 1-ый отличающийся символ больше. 3) Если знаки разные, то надо 3.1. Знать какое наибольшее число в данном представлении возможно. 3.2. Взять модуль(инвертировать все байты, прибавить 1) 3.3. Сравнить по 1,2 1,2 написаны для строк 1 длинны, если длины разные, то в случае 1) меньше та , что короче, случай 2) -- невозможен. Если никакой арифметики с числами производить нельзя -- то отличать можно либо по длинне, либо по первому отличающемуся символу -- т.е. полностью то, что писал Akina --------------------
Извяните, шо мы к вас за поможите обращаимси. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: нет Всего: 18 |
Угу, попробую...
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |