Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2017, 17:40   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Как же я тогда могу провернуть какое-нибудь хитрое дельце с этим?
они свое уже провернули.
если Нash короткий (имеется множество коллизий >16) то с большой долей вероятности в один и тоже Hash войдут ВСЕ "счастливые" числа от 0 и до 15.
так что это знание (даже если оно у вас будет) ничем увы не сможет помочь.

учитывая что для получения "счастливого" числа совсем не нужны все 30 знаков после запятой (вполне достаточно и трех, четырех), то остальные нужны только для разброса в hash.

Hash обеспечивающий "требуемое" число коллизий имеет НЕ БОЛЬШЕ
10^30 /16 =1000 *10^27 /16 =64*10^27
чем 25-27 знаков.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 31.01.2017, 18:13   #12
pahanhik700
Новичок
Джуниор
 
Регистрация: 31.01.2017
Сообщений: 8
По умолчанию

Можно чуточку проще сказать?
pahanhik700 вне форума Ответить с цитированием
Старый 31.01.2017, 18:28   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Упрощаю:
Если хэш короткий, то у достаточно большого количества чисел из набора он будет совпадать. При этом нельзя сказать, что одно из них подходит лучше, более правильное и т.д. Т.е. даже если подобрать такое число, что хэш совпадать, то всегда можно будет подобрать абсолютно другое, но с таким же значением хэша.
p51x вне форума Ответить с цитированием
Старый 31.01.2017, 19:53   #14
pahanhik700
Новичок
Джуниор
 
Регистрация: 31.01.2017
Сообщений: 8
По умолчанию

Понятно, спасибо, за уделённое время.
pahanhik700 вне форума Ответить с цитированием
Старый 31.01.2017, 22:30   #15
pahanhik700
Новичок
Джуниор
 
Регистрация: 31.01.2017
Сообщений: 8
По умолчанию

У меня гениальнейшая мысль! А что если рассматривать числа которые при умножении на 15 дают 0 целого? Ведь это намного уменьшит диапазон искомых значений!
pahanhik700 вне форума Ответить с цитированием
Старый 31.01.2017, 22:51   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Таким образом вы рассмотрите 1/15 от всех дробных чисел, грубо говоря. Можете разделить вышеприведенные оценки времени и места на 15 и приуныть
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.02.2017, 20:55   #17
pahanhik700
Новичок
Джуниор
 
Регистрация: 31.01.2017
Сообщений: 8
По умолчанию

Можете помочь мне написать алгоритм для построения таблицы рандомных дробных чисел в -30 степени от 0.06666666666666666666666666666666 до 0.0111111111111111111111111111111 в ограниченном количестве в 80 миллиардов? И нужно чтобы они не повторялись, и потом их закодировать с помощью sha 224
pahanhik700 вне форума Ответить с цитированием
Старый 01.02.2017, 21:35   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Считать не умеешь? Выше писали по этому поводу - 1 байт записанный на диск 80 миллиардов раз займет примерно ~74 гигабайта. Твое дробное число в любом виде займет гораздо больше одного байта. Допустим диск для этого файла будет. Как быстро в нем поиск будет осуществляться подумал? Или в базу собираешься запихнуть таблицу с 80 миллиардами записей?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 01.02.2017 в 21:41.
Аватар вне форума Ответить с цитированием
Старый 02.02.2017, 00:40   #19
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

pahanhik700, ты так говоришь, что здесь одни специалисты по длинной арифметики собрались...
Я не верю во все эти расчёты - надо конкретно щупать задачу: а ну, для начала, сгенерируй всего лишь одно рамдомное число (от 1-ля до 6-ти).
Ты на чём программируешь?

.

Последний раз редактировалось ura_111; 02.02.2017 в 12:36.
ura_111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка unix и дальнейшая работа с ней dubailand Операционные системы общие вопросы 5 15.05.2012 07:38
Создание БД и работа с ней MSOffice приложений. Smile^_^ Microsoft Office Excel 7 08.11.2011 21:26
Подключение к удаленной БД(MySQL) и работа с ней! IIpopoK БД в Delphi 2 29.12.2010 21:31
штоусе dll к процессу и работа с ней Mixasik Общие вопросы Delphi 4 06.06.2009 19:07
WMF карта и работа с ней в Delphi 7 Арт Общие вопросы Delphi 3 30.08.2007 02:02