Форум программистов, компьютерный форум, киберфорум
Наши страницы

генератор псевдослучайных чисел без рандом.... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов http://www.cyberforum.ru/cpp-beginners/thread83275.html
Необходимо решить задачу на С++ Реализовать распознание объекта из некоторого множества (расширяемого) на основе вопросов и ответов. Для этого реализовать абстрактный базовый класс объект...
C++ Объявите указатель и присвойте ему первоначальное значение кто шарит выручайте 1. Объявите массив типа целое без знака, состоящий из 5 элементов, и инициализируйте элементы массива четными целымми числами от 2 до 10. Используйте символьную... http://www.cyberforum.ru/cpp-beginners/thread83237.html
Подскажите C++
Подскажите сайтик с подробным описоним библиотек и их операторов.И ссылку или тему форума о классах.
чему нас учат в институте %) C++
тут такая вот ситуация нашел пару ошибок в одной из предоставленных задач и их решений в своей методичке по С++, а именно:#include <stdio.h> #include <conio.h> #include <stdlib.h> void main() {...
C++ Строки... http://www.cyberforum.ru/cpp-beginners/thread83210.html
Прошу помощи.Вот задание: Напечатать все слова, которые совпадают с ее первым словом.
C++ Поиск символа в слове задача состоит в том, чтобы написать программу (на С), кот. будет проверять правильно ли написано слово. Например, в слове не может быть шипяших, и после каждой согласной идет гласная. Если правило... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
07.01.2010, 12:08
Существует много разных методов, в зависимости от того, что тебе надо. Один из простейших такой:
C++
1
2
3
4
5
6
7
8
const int MaxVal = 32767;
const int Factor = 41723;
 
int Random()
{
    static int seed = Factor%MaxValue;
    return seed = (seed*Factor)^MaxValue;
}
Так ты получишь псевдослучайные числа в диапазоне от 0 до MaxValue-1 включительно. Factor можно выбирать самостоятельно так, чтобы он был больше MaxValue и при этом был взаимно простым с MaxValue, при этом выдаваемая последовательность будет состоять из циклов по MaxValue неповторяющихся чисел (в данном случае получится цикл по 32767 неповторяющихся чисел от 0 до 32766). Эту последовательность потом можно обрезать по нужному модулю, например, Random()%1000 будет выдавать числа от 0 до 999 (цикл в 32767 элементов сохранится, но они уже не будут неповторяющимися).
Разумеется, это один из самых простейших генераторов, пригодный разве что для "игрушечных" целей. Если ты ищешь статистически хороший генератор, гляди в сторону Mercienne Twister. Если нужен ГСЧ, пригодный для криптографических целей, целься на что-нибудь ещё более серьёзное.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.