![]() |
|
![]() ![]() ![]() |
|
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Да это тебя пока никто не понял. Ты до сих пор не сформулировал задачу ПОЛНОСТЬЮ. Со всеми условиями, в ти.ч. граничными. А мы, как дураки, гадаем на кофейной гуще, что же у тебя там собсно происходит и с чем именно. Я, например, до сих пор не знаю, какими могут быть эти а-бэ-цэ - только положительными или еще и нулевыми и даже отрицательными, простой они точности или двойной, или точность задана... Неужели трудно точно поставить задачу? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
числа a, b, c могут быть дробными, функции EnCode превращает их в одно число d (целое или дробное), а функция DeCode превращает из числа d их обратно в три числа a, b, c Вот собственно и все -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
лучше тогда вопрос: а какими они не могут быть? так как вышеописанное условие не соответствует фразе Это сообщение отредактировал(а) mes - 19.3.2008, 15:48 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Извини за грубость, но термин "дробные" надо было забыть еще в детском саду. Real? Double? или какие там у вас в Дельфах есть типы... ограничения на значения есть? какие именно? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
4d5a |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Репутация: 1 Всего: 1 |
Думаю из всего вышесказанного можно наконец то выпарить точную формулировку задачи:
Даны три рациональных числа (a,b,c), представленных в виде десятичной дроби. Каждое число принадлежит промежутку [0;100]. Максимальное количество знаков(десятичных) после запятой равно X0. Для ввода и вывода чисел используется тип double: 8 byte. Найти функцию FY(Y1,Y2,Y3)->{Y0}, и обратную ей функцию FZ(Z0)->{Z1,Z2,Z3} которые удовлетворяют условию FY(FZ(V))=V (запись "->{Z1,Z2,Z3}" означает что функция возвращает три значения) Причем, ф-ия FY ставит в соответсвие одной тройке аргументов Y1,Y2,Y3 одно значение Y0, а ф-ия FZ сопоставляет одному значению Z0 одну уникальную комбинацию Z1,Z2,Z3. Т.е. имеет место однозначное соответствие. Реализовать FY,FZ двумя процедурами на унивесальном ЯП или в словестном виде. К примеру, X0=2 Замечание: изначально предпологается что в 8 байтах хватит места для a,b,c. За это предположение отвечает условие X0=2 Delphist, поправте если не так Это сообщение отредактировал(а) 4d5a - 20.3.2008, 21:08 |
|||
|
||||
4d5a |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 10.6.2007 Репутация: 1 Всего: 1 |
но если я правильно понял задачу, Вам уже дали общий метод ее решения (см. далее). В чем вопрос - то еще ????????
Это сообщение отредактировал(а) 4d5a - 20.3.2008, 21:27 |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Все правильно, но X0 может меняться от 1 до 5 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Значит X0 = 5. Итого требуется хранение числа, состоящего из максимум 7 цифр. Следовательно: (long*64) Hash = 2**32 * (long*32) (a * 10**5) + (long*32) (b * 10**5) -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |