Форум — General Как создать одно большое(больше 10 тысяч цифр) рандомное число? [РЕШЕНО] командная строка 3 0 Ссылка
Генератор случайных чисел rand() в С++. Deathstalker ★★★★★ (26.11.16 15:05:24 MSK) Показать ответ Ссылка
Ответ на: комментарий от Deathstalker 26.11.16 15:05:24 MSK В командной строке как можно создать? letni ★ (26.11.16 15:06:10 MSK) автор топика Показать ответ Ссылка
python -c 'from random import randint; print(randint(0, 10**10000))' anonymous (26.11.16 15:09:08 MSK) Ссылка
Ответ на: комментарий от sudopacman 26.11.16 15:07:44 MSK Люблю большие рандомные числа letni ★ (26.11.16 15:09:34 MSK) автор топика Ссылка
openssl rand -hex 10000 | tr -cd 0-9 Legioner ★★★★★ (26.11.16 15:10:53 MSK) Последнее исправление: Legioner 26.11.16 15:13:13 MSK (всего исправлений: 2) Ссылка
Это не настоящий рандом, для настоящего рандома тебе нужен генератор с каким-нибудь радиоактивным изотопом в качестве источника энтропии. anonymous (26.11.16 15:11:01 MSK) Показать ответы Ссылка
https://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477/ anonymous (26.11.16 15:11:21 MSK) Ссылка
Ответ на: комментарий от letni 26.11.16 15:06:10 MSK echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10000; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out sudopacman ★★★★★ (26.11.16 15:27:16 MSK) Ссылка
cat /dev/urandom | tr -dc '[:digit:]' | head -c 10000 или так tr -dc "[:digit:]" </dev/urandom | head -c 10000 surefire ★★★ (26.11.16 15:28:43 MSK) Последнее исправление: surefire 26.11.16 15:31:16 MSK (всего исправлений: 1) Ссылка
Ответ на: комментарий от anonymous 26.11.16 15:11:01 MSK Вроде сейчас в процах rdrand описывают как что-то такое. uses thermal noise within the silicon anonymous (26.11.16 15:31:44 MSK) Показать ответ Ссылка
ну, если только одно - можно и вручную создать, уснув на цифровой клавиатуре buratino ★★★★★ (26.11.16 15:32:58 MSK) Ссылка
Какая милая бородатая шутка. Удивлен, что всё ещё работает. Но всё равно ослаб анонимуса, негоже так с новичками поступать. anonymous (26.11.16 16:42:52 MSK) Ссылка
Ответ на: комментарий от anonymous 26.11.16 15:11:01 MSK и то, возможно пошаливание anonymous (26.11.16 17:48:24 MSK) Ссылка
Интересны результаты при N=10 - у меня в о многих тестах первая цифра 5 или 4 (типа нормальное распределение), причем повторяется. cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 5100023092dan@tux ~ $ user@host ~ $ cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 5314920168user@host ~ $ cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 5231812401user@host ~ $ cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 2777960464user@host ~ $ cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 1157055907user@host ~ $ cat /dev/urandom | tr -dc '[:digit:]' | head -c 10 6466789913user@host ~ $ tr -dc "[:digit:]" </dev/urandom | head -c 10 7233580885user@host ~ $ tr -dc "[:digit:]" </dev/urandom | head -c 10 0970172798user@host ~ $ tr -dc "[:digit:]" </dev/urandom | head -c 10 4662580011user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10000; i++) {\n std::nd() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 7936313878536475206433845547896589432719593432972635111688499247302584655190397870503792731677508778353873824503783152547604554543389768270843121438702682139793321210057231565830620888212393927261286102580063155154005436920676796637885083498934554399984261040705403102663586131562682029123495957389756006939208568770user@host ~ $ su^C user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 16046668620 user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 85195022262 user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 54242285802 user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 59218309049 user@host ~ $ echo -e "#include <iostream>\n#include <cstdlib>\n#include <ctime>\nint main () {\n srand (time(NULL));\n std::cout << rand () % 9+1;\n for (int i(0); i<10; i++) {\n std::cout << rand() % 10;\n }\n std::cout << std::endl;\n return 0;\n}" | g++ -x c++ - && ./a.out 96358109937 user@host ~ $ shuf -r -i 0-9 -n 10 | tr -d '\n' 0337163913user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 7821255697 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 4848767449 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 1257848026 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 1323356481 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 8303239155 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 8197022585 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 9124581543 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 8555578823 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 3610892906 user@host ~ $ python -c 'from random import randint; print(randint(0, 10**10))' 4762699 Кстати, спасибо авторам за однострочники - занятно. Особенно впечатлил однострочник на C++ - зачет!Кстати, навело на мысль при генерации последовательности из ограниченного набора чисел без повторов, энтропия (упорядоченность) то уменьшается! anonymous (26.11.16 18:02:58 MSK) Показать ответы Ссылка
если можно hex, то, есть вариант: num=$(echo 'n=10^5*l(10)/l(256); scale=0; n/1+1' | bc -l) od -An -tx1 -N $num /dev/urandom | tr -d '[:space:]' anonymous (26.11.16 19:01:47 MSK) Ссылка
Ответ на: комментарий от anonymous 26.11.16 15:31:44 MSK Использовать RNG из процессора от мутного вендора это ССЗБ. anonymous (26.11.16 19:09:38 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 26.11.16 19:09:38 MSK Использовать RNG из процессора от мутного вендора это ССЗБ.Как страшно жить, повсюду жиды, масоны, заговоры - а теперь еще и мучайся, вдруг у тебя в тилипоне процессор от мутного вендора генерирует неслучайные числа. Ужас. Alve ★★★★★ (26.11.16 21:55:53 MSK) Показать ответ Ссылка
Ответ на: комментарий от Alve 26.11.16 21:55:53 MSK Нужны проверяющие тесты на рандомность - чем больше тем лучше, не удивлюсь, что возможно решето. anonymous (26.11.16 22:55:48 MSK) Ссылка
Ответ на: комментарий от anonymous 26.11.16 18:02:58 MSK Кстати, в большинстве вариантов есть ошибка: первая цифра не генерируется отдельно и может быть нулём. Ну ещё и '\n' в конце не выводится. sudopacman ★★★★★ (26.11.16 23:11:23 MSK) Ссылка
Ответ на: комментарий от anonymous 26.11.16 18:02:58 MSK Поставь haveged для повышения энтропии.Сравни до и после. А так же cat /proc/sys/kernel/random/entropy_avail surefire ★★★ (26.11.16 23:25:20 MSK) Показать ответ Ссылка
Ответ на: комментарий от surefire 26.11.16 23:25:20 MSK интересно, спасибо - как оно, не тормозит? anonymous (27.11.16 13:08:06 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 27.11.16 13:08:06 MSK Вроде бы нет, но бенчмарки не делал. surefire ★★★ (27.11.16 13:27:22 MSK) Ссылка