|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
||||||
Генерация длинных случайных чисел в заданном диапазоне21.11.2023, 09:17. Показов 874. Ответов 11
Метки нет (Все метки)
Всем привет!
Я разрабатываю метод, который бы генерировал числа в нужном диапазоне от BigInt a до BigInt b Исходный набор случайности выглядит как группа байт Как генерировать числа от a до b без пробы, ровно по границам?
0
|
||||||
| 21.11.2023, 09:17 | |
|
Ответы с готовыми решениями:
11
Генерация случайных чисел в заданном диапазоне. Генерация случайных чисел на заданном диапазоне
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|
| 21.11.2023, 09:35 | |
|
SomniPhobia, https://en.cppreference.com/w/cpp/numeric/random
1
|
|
|
Вездепух
13202 / 6837 / 1822
Регистрация: 18.10.2014
Сообщений: 17,296
|
||
| 21.11.2023, 10:19 | ||
Сообщение было отмечено SomniPhobia как решение
Решениеa + rand() % (b - a + 1). BigInt со всеми операциями у вас уже есть, нужно только сделать rand().
1
|
||
| 21.11.2023, 10:30 | |
|
Не по теме: С помощью чего эта картинка нарисована?
0
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
|
| 21.11.2023, 12:05 [ТС] | |
|
nmcf,
Не по теме:
Добавлено через 3 минуты TheCalligrapher, хорошая идея А с какими свойствами числа должен выдавать rand() для BigInt (как правильно настроить)? Например, rand() должен выдавать числа в 2 раза больше чем right - left
1
|
|
|
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,293
|
||
| 21.11.2023, 21:16 | ||
|
Добавлено через 1 час 8 минут Если нужны большие числа, то почему бы не генерировать строку случайных десятичных цифр нужной длинны?
1
|
||
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
||||||||||||
| 22.11.2023, 09:28 [ТС] | ||||||||||||
|
В действительности, эти числа - ключи, длинной 256, 2048 бит. Это огромные числа. Для чего я использую библиотеку BigInt В схеме
Добавлено через 1 минуту TheCalligrapher, Не по теме:
Добавлено через 31 минуту Сделал метод таким:
0
|
||||||||||||
|
34 / 22 / 13
Регистрация: 20.05.2022
Сообщений: 414
|
|
| 22.11.2023, 13:17 | |
|
SomniPhobia, а что если воспользоваться генератором из библиотеки GMP?
Добавлено через 9 минут SomniPhobia, что если взять распределение допустим нормальное на отрезке от 0 до 9. И результат записывать в строку нужно например, нам длина числа 10 символов, запустили генератор 10 раз, получили числа, преобразование строку и сконкатенировали. Потом проверили подходит, ли оно для нашего интервала.
1
|
|
|
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,293
|
|
| 22.11.2023, 13:19 | |
|
0
|
|
|
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
|
||||
| 23.11.2023, 12:52 [ТС] | ||||
|
Либо с аппаратной части ПК берём энтропию. В Linux /dev/random Данные представлены как набор байт. Их можно в вихрь, в распределение подать или же использовать в чистом виде, если достаточный объём случайных значений Так вот, я их воспринимаю как набор байт (unsigned char) Есть метод, который обеспечивает откалывание нужного числа байт из источника случайности Эти байты представляем как биты. Кладём в строку. А дальше, эту строку передаём конструктору BigInt, с указанием системы счисления двоичной. BigInt принимает число как набор бит Можно исходные случайные данные представить в hex строке Тогда BigInt value (str, 16);
0
|
||||
|
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,293
|
|
| 23.11.2023, 14:01 | |
|
А чем генераторы псевдослучайных чисел плохи?
Число 2048 бит состоит из 256 шестнадцатеричных цифр. Составьте строку из 256 (псевдо)случайных hex цифр любым самопальным генератором RND - это будет гарантированно уникальная последовательность, которую никто никогда не создавал и не создаст в будущем. Атомов во вселенной меньше, чем вероятность случайно получить такую же последовательность.
0
|
|
| 23.11.2023, 14:01 | |
|
Помогаю со студенческими работами здесь
12
Генерация случайных чисел в диапазоне 0 - 1 Генерация случайных вещественных чисел в диапазоне 0..1 Генерация неповторяющихся чисел в заданном диапазоне
Генерация псевдослучайных чисел в заданном диапазоне Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|