formula za psevdoslu4aini 4isla?

5 отговора 251 прегледа
#1

formula za psevdoslu4aini 4isla?

Ima6e nqkakakva formula za generirane na psevdoslu4aini 4isla nqkoi 6te mi q kajeli?
10x

Отговор
в отговор на lnfoPls #2

Re: formula za psevdoslu4aini 4isla?

Ми виж... ако не можеш да използваш функции като srand() и rand() има един супер тъп начин, дето върши чудесна работа ако не го викаш прекалено често.
Взимаш системното време и го правиш на float по някфа формула. Това си го пазиш някъде. После като ти трябва rand число, взимаш текущото системно време, умножаваш го по запазеното и взимаш това, което е след точката. После правиш онова запазеното да е равно на текущото. И така :)
Другия вариант е да си направиш един буфер с примерно 200 клетки, вземаш системното време като float (изрязано до точката) и го пишеш в първата клетка. После го умножаваш примерно по 3 (пак режеш резултата до точката) и го записваш във втората клетка и така, докато напълниш всичките клетки.
Когато ти трябва rand число, взимаш системното време като брой милисекунди и го mod ваш с 200 (systime % 200) и резултата е индекса в таблицата, който трябва да върнеш. Ама ще трябва от време на време да пълниш наново таблицата, щото най-вероятно няма да е кой-знае колко нормално разпределена.
Третия вариант е да се запишеш на курс по 'Теория на хаоса' :))) и там ще ти кажат какво е 'чувствителна зависимост от входните данни'. От там нататък е лесно.

Отговор
в отговор на lnfoPls #3

И аз да питам

Имаше някакъв алгоритъм за сортиране, някой ще ми го каже ли?
Виж първо това, а после това - на 3-то място има сорс.


System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на lnfoPls #4

Re: formula za psevdoslu4aini 4isla?

Имплементацията в .NET от "Numerical Recipes in C (2nd Ed.)", доколкото разбирам в дъното на цялата работа седи чичко Knuth: [линк]

---
...и аз пиша на кирилица!
Отговор
в отговор на Colombino #5

Re: случайни числа

разгледай header файловете на BC++3.1 . мисля че функцията беше в math.h ако не е там продължавай да търсиш

Отговор
в отговор на lnfoPls #6

Re: formula za psevdoslu4aini 4isla?

y[n+1] = (y[n]*A + B) mod C
A, B и C са константи. Нарича се линеен конгруентен метод, а самият генератор се нарича линеен конгруентен генератор. Има условия за стойностите на константите, които можеш да намериш в "Numerical Recipes in твоят_любим_език" на този сайт.

"Всички науки са или физика, или колекциониране на пощенски марки." (Е. Ръдърфорд)
Отговор