2011-06-17 1 views
-1

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

например: -

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

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

+0

Ой, если кто-то имеет привилегию переместить этот вопрос в stackoverflow. Пожалуйста, сделайте это. – Gowri

ответ

1

Наименьшее возможное значение, которое использует десятичные числа $ 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

, поэтому вы имеете в виду, что 2 цифры имеют 99 случайных возможностей. – Gowri

+0

Есть 100 возможностей, если вы включаете нуль, как и 10 вариантов для 1-значного числа, если вы включили нуль. В общем случае существует $ 10^n $ возможностей для числа $ n $ цифр, если вы включаете нуль. –

+0

taylor: Ваша формула помогает мне много спасибо – Gowri

0

Я не знаю, если это то, что вы ищете for, но если $ 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 $.

+0

Так, например, $ f (2) $ возвращает равномерное случайное значение в $ \ {0,1, \ ldots, 99 \} $. –

+0

Я ничего не понимаю в первой строке. Я чувствую стыд, будучи инженером. – Gowri