[identity profile] atlastiamfree.livejournal.com posting in [community profile] useful_faq
Где можно найти формулы функций (если они существуют), для которых аргументом является любое число из заданного диапазона (например, от 120 до 178), и которые возвращают число из диапазона [0;1) (но не случайное) как бы вперемешку, т.е. не так, чтобы из 120 всегда получался 0, а из 178 - 0,999...?
То есть это должен быть как бы генератор случайных чисел, но на самом деле неслучайных :)
Upd: имеется в виду именно математическая функция.

Date: 2009-05-21 06:04 am (UTC)
From: [identity profile] antropovalexey.livejournal.com
ммм... напишите сами =)

Date: 2009-05-21 06:13 am (UTC)
From: [identity profile] spamsink.livejournal.com
Математическая функция при одном и том же аргументе всегда возвращает одно и то же значение.

Date: 2009-05-21 06:20 am (UTC)
From: [identity profile] dna2.livejournal.com
Я так понял, под "как бы вперемешку" имеется в виду функция, на области определения ведущая себя как-то не совсем тривиально для стороннего наблюдателя, при этом монотонность рассматривается как предельная степень тривиальности.

Хотя, конечно, лучше бы у топикстартера уточнить.

Date: 2009-05-21 06:31 am (UTC)
From: [identity profile] spamsink.livejournal.com
Тогда дурное дело нехитрое. Например, дробная часть от x*pi, или лучше, от x*e.

Date: 2009-05-21 06:41 am (UTC)
From: [identity profile] dna2.livejournal.com
Угу, про дробную часть я забыл, каюсь. Тогда уж от exp(x), чтоб сразу мечом в глаз.

Date: 2009-05-21 06:44 am (UTC)
From: [identity profile] spamsink.livejournal.com
Теоретически да, а практически frac(∞) = NaN.

Date: 2009-05-21 06:15 am (UTC)
From: [identity profile] dna2.livejournal.com
Навскидку - какой-нибудь модуль синуса. Для полной уверенности можно протереть халатом домножить аргумент на константу какую-нибудь побольше. Только это будет [0;1].

В общем, от практического применения зависит.

Re

Date: 2009-05-21 08:14 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Это называется "генератор псевдослучайных чисел" (ГПСЧ). Простейшая функция, применявшаяся еще на микрокалькуляторах: xi+1 = {11 * xi + 3.14159}, где {} - взятие дробной части числа.

Re

Date: 2009-05-21 08:41 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Двойка по математике.

Заданное число - это будет x0. У вас есть границы, в которых задается данное число? Вот и приведите это заданное число в полуинтервал [0; 1). А потом подставьте в формулу. Числа в формуле могут быть любыми, рекомендуется множитель выбирать простым, пи тоже можете заменить или, скажем, взять 1000 пи.

Date: 2009-05-21 08:54 am (UTC)
From: [identity profile] tumbochka.livejournal.com
|sin(x)|? ;-)
Можно ещё |sin(635908*x)|