![]() |
|
Модераторы: Alx, Fixin |
![]()
|
|
| FantomaS19 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 28.7.2007 Репутация: нет Всего: нет |
Вот задача.Даны два числа.Определить какое из них больше линейным способом
То есть нельзя написать: если x > y, то x больше, иначе y больше. Циклом тоже нельзя. Только линейно, т е когда действия следуют друг за другом. |
|||
|
||||
| maxim1000 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 2 Всего: 110 |
ну тут уж от языка зависит:
или от представления чисел в памяти:
(тут предполагается, что x и y 32-разрядные знаковые числа) -------------------- qqq |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: нет Всего: 8 |
Можно вычесть одно число из другого. В результате вычитания один бит отвечает за знак.
Обнуляем все остальные биты (наложи маску), и выдаём результат в качестве ответа. (ответ 0 - одно число больше, не нулевой ответ - другое). Если хочется, можно единственный не равный нулю бит передвинуть на первое место. тогда ответ 0 - одно число больше, 1 - другое. Не заметил сообщение maxim1000, можно этот пост удалять. Это сообщение отредактировал(а) nworm - 12.9.2007, 16:43 |
|||
|
||||
| FantomaS19 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 28.7.2007 Репутация: нет Всего: нет |
Понятно что в языке можно это как-то обойти, но нужно ответить без привязки к конкретному языку.Просто блок-схему нарисовать
|
|||
|
||||
| diamondd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 11.9.2007 Репутация: нет Всего: нет |
А если числа равны?
А ошибкау по поводу деления на ноль обойти |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
Так нужно получить, грубо говоря, номер переменной с бОльшим значением, или само значение?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| FantomaS19 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 28.7.2007 Репутация: нет Всего: нет |
Без подсветки:
Чето вообще не понял.Берем любые два числа, подставляем:например: 4 и 6; 6 и 4 В одном случае Greater = 1, во втором = 3.Это ни номера ни сами значения.
В тот момент я не задумался над этим, но вроде надо сами значения. |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| FantomaS19 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 28.7.2007 Репутация: нет Всего: нет |
Вот это то что надо!Спасибо! |
|||
|
||||
| Bacchus |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.9.2007 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |