Страница: 1 |
Мне нужно сгенерить случайное целое число значением от 0 до n. Заранее благодарен
x=int(rnd*n) P.S Я тоже вечный юзер!!!(xaker^2) Randomize Timer a = Int(Rnd(Timer)*(n+1)) А как не целое?? Например: 12.40 Anry Deriabine , так же как и в первом ответе, но не руби его int'ом, а округли round'ом round(rnd*n,2) Randomize 'X:=roandom(n); -0 это блин паскаль X=int(rnd*n) бясняю! Итак... сначало выучим что такое RND (от англ. укароченно Random что в переводе обозначает случайно). Просто так команда RND генерирует случайные числа от 0 до 1. Чтоб получить случайное число остаточно написать такой код. R = RND А чтоб получить последнюю сгенерированое число то надо КТВ(0) А чтоб получить неппосредственно новый RND(1) А чтоб получить нечелое, надо его уможить например на 100 и если при простом RND, R равнялась например 0,5898541210, то при умножение его на 100 мы получим 58,98541210. А чтоб при каждом запуске программы не получать одни и те-же числа а получить в идеально случайне числа, то надо прослучировасть случайность, то есть использовать Randomize. Можно просто написать Randomize. Но для более лучшей случайности его можно сделать ещё в зависимости от времени... Это идеал идеалов. Так называемый Randomize Timer/ Он задаст новый делитель для Random в зависимости от времени и плюс поменяет деление на прочессный тракт. И всё... Так будет всё так... Пример: Dim R as Double Ranodmize Timer R = RND (1) * 100 Вот так ответ!! Супер!!! Страница: 1 |
Вопрос: ЗАБЫЛ! Как сгенерировать случайное целое число?!
Добавлено: 07.11.03 18:20
Автор вопроса:
Alexander N | Web-сайт:
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа: xaker^4
Вопросов: 4
Ответов: 7
Профиль | | #1
Добавлено: 07.11.03 18:41
Номер ответа: 2
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #2
Добавлено: 08.11.03 12:53
Номер ответа: 3
Автор ответа: Anry Deriabine
Вопросов: 14
Ответов: 29
Профиль | | #3
Добавлено: 16.12.03 08:27
Номер ответа: 4
Автор ответа: boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #4
Добавлено: 16.12.03 10:15
Номер ответа: 5
Автор ответа: Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #5
Добавлено: 17.12.03 11:53
Номер ответа: 6
Автор ответа: Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #6
Добавлено: 17.12.03 11:57
Номер ответа: 7
Автор ответа: Pashenko
ICQ: 176176951
Вопросов: 14
Ответов: 655
Профиль | | #7
Добавлено: 17.12.03 12:11
Кстати, если не ошибаюсь, при отсутствии Randomize RND должна возвращать
одинаковые значения при каждом запуске программы, что бывает очень
полезно при отладке программы (это зависит от реализации бейсика, как в
VB - не помню).
Номер ответа: 8
Автор ответа: Anry Deriabine
Вопросов: 14
Ответов: 29
Профиль | | #8
Добавлено: 18.12.03 00:41