Страница: 1 | 2 |
Вопрос: Люди! Помогите плизз! Нужен генератор случайных чи
Добавлено: 22.06.07 19:11
Автор вопроса: lp
Я хочу сделать генератор случайных чисел такой чтоб его еще можно было обучить.
например я задумал два 16ричных числа 6562965131126894 и 3526161523212035.
я хочу чтоб при вводе первого числа генерировалось второе.
а обучать его так: я ввел и два разных первых числа в первую колонку,
и два разных вторых числа во вторую колонку. после этих процедур
я хочу чтоб он мое новое (не из тех которые я вводил в обучение) первое
число отгенерировал так как надо. И чтоб при вводе 6562965131126894 он генерировал
именно 3526161523212035 и не другое больше.
Я уже 2 месяца мучаюсь, исходники смотрел не помогало и вот 2 дня назад Инет купил
прошу у вас помощи. Если сможете сделать плизз дайте исходник!
Ответы
Всего ответов: 18
Номер ответа: 1
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #1
Добавлено: 22.06.07 19:22
Попонятней: ты хочешь чтоб уже сгенерированная бадья не повторялась?
Номер ответа: 2
Автор ответа:
lp
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 22.06.07 19:25
Да
Номер ответа: 3
Автор ответа:
lp
Вопросов: 1
Ответов: 3
Профиль | | #3
Добавлено: 22.06.07 19:25
Да
Номер ответа: 4
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #4
Добавлено: 22.06.07 20:20
Товариш, это уже база данных, а не гениратор случ. чисел
Номер ответа: 5
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #5
Добавлено: 22.06.07 21:08
Простейший генератор грязных целых случайных чисел является функцией вроде r'=r*a+b, где r' - итоговое псевдослучайное число, служащее базой для генерации следующего, а коэффиценты a и b - любые числа, задающие последовательность генерации. Старшие биты после каждой генерации уходят в результате переполнения. Для 32-битных целых чисел в ходе исследований были получены коэффиценты a=1664525, b=1013904223. Конечно, можно подобрать и другие коэффиценты, решив, к примеру, систему уравнений типа { r=89347, r'=927412840, r'=(r*a+b)%4294967296 } (решений в данном случае будет множество), только смысл?
Номер ответа: 6
Автор ответа:
Docal
ICQ: 408802757
Вопросов: 14
Ответов: 126
Web-сайт:
Профиль | | #6
Добавлено: 22.06.07 22:20
блин в listbox записывай все значения которые были до етого сгенерены а потом при генерацыи проверяй было ли ето число или нет.Если было опять генерируем
Номер ответа: 7
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #7
Добавлено: 23.06.07 11:05
Во!
Номер ответа: 8
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #8
Добавлено: 23.06.07 11:05
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 23.06.07 17:58
Раз это база данных, то уже не случайных чисел. О том, как генеряться псевдослучайные числа, лучше всего почитать в Кнуте. Но вообще говоря, меня не устроил стандартный алгоритм только один раз — когда нужно было генерить триангулируемый ландшафт, избегая по возможности трех точек на одной прямой.
Номер ответа: 10
Автор ответа:
lp
Вопросов: 1
Ответов: 3
Профиль | | #10
Добавлено: 23.06.07 20:28
Ладно скажу попроще мне надо чтоб если я один раз сгенирировал, это число появилось и во второй раз регена. например ввод числа 2753564872749804 и при генерации чтоб появилось число 7670601433009173 и при сгене еще раз 2753564872749804 появилось число 7670601433009173
(короче одно и тоже). тока не думайте что мне надо тока на ето число генерировать
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 23.06.07 21:44
Думаю лучше не БД делать, а набросать какой-то свой алгоритм преобразования числа, наподобия как Страшный Сон предложил. Хотя тут по ситуации, если может понадобится изменить данные которые должны выдаваться при подаче на вход числа, то это просто так неполучится...
Номер ответа: 12
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #12
Добавлено: 24.06.07 00:38
При алгоритме получения нового псевдослучайного числа из предыдущего у тебя так и будет получаться: новым значениям неоткуда будет взяться.
Номер ответа: 13
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #13
Добавлено: 27.06.07 09:16
Придумал!
i = i + 1
Числа никогда не будут повторяться!
Номер ответа: 14
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #14
Добавлено: 27.06.07 09:17
Номер ответа: 15
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #15
Добавлено: 27.06.07 10:23
скажите плиз а что это за функция, которая генерирует. Хотел бы тоже Random поставить но не знаю как оно в Бейсике называется