формула для расчета возможных случайных чисел - PullRequest
0 голосов
/ 17 июня 2011

Я веб-разработчик. Мне нужно создать функцию, чтобы получить возможное случайное число для данной длины строки. Пожалуйста, дайте формулу для этого.

например: -

1 digit = 10 (0,1,2,3,......9)
2 digit = (00,01,02,...11,12,13,...)

пожалуйста, помогите мне! Спасибо

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Наименьшее возможное значение, которое использует десятичные цифры $ n $, равно нулю (при условии, что вы не допускаете отрицательные числа, а я полагаю, что нет), а наибольшее значение составляет $ 99 \ dots 9 $, где есть $ n $. $ 9 $ s. Более короткий способ записи этого числа - $ 10 ^ n - 1 $, поэтому ваша функция должна возвращать список каждого числа от $ 0 $ до $ 10 ^ n - 1 $.

На многих языках программирования написать тривиально:

В Python 2.7:

def sample(n):
    return range(10**n)

В R:

sample <- function(n) {
    return(seq(0, 10^n-1))
}
0 голосов
/ 17 июня 2011

Я не знаю, если это то, что вы ищете, но если $ U $ является равномерной $ (0,1) $ случайной величиной, то $ X: = \ left \ lfloor {10 ^ n U} \right \ rfloor $, где $ \ left \ lfloor \ cdot \ right \ rfloor $ - функция пола, имеет дискретное равномерное распределение по $ \ {0,1, \ ldots, 10 ^ n - 1 \} $;то есть $ {\ rm P} (X = k) = \ frac {1} {{10 ^ n}} $, для любых $ k \ in \ {0,1, \ ldots, 10 ^ n-1 \} $.Таким образом, формула имеет вид $ f (n) = \ left \ lfloor {10 ^ n U} \ right \ rfloor $.

...