random numbers
по следам недавней дискуссии в code_wtf (или как её там) - посмотрел код System.Random. похихикал чуть-чуть над magic numbers: 0x38, 0x9a4ec86, 2147483646.0, 4294967293, 4.6566128752457969E-10, а также над if ((((this.InternalSample() % 2) == 0) ? 1 : 0) != 0).
anyway, теперь у меня есть хороший вопрос для интервью: написать код, который будет генерировать random numbers в диапазоне 0..10B.
anyway, теперь у меня есть хороший вопрос для интервью: написать код, который будет генерировать random numbers в диапазоне 0..10B.
no subject
var random = (function() {var digits=[];for(var i=0;i<10;i++){digits.push("0123456789".charAt(Math.random()%10)));}})().join("");?no subject
я ожидаю вопроса "можно ли использовать System.Random()?", на что я отвечу "да".
no subject
no subject
no subject
http://www.cogs.susx.ac.uk/users/adrianth/ascot/paper/paper.html
no subject
no subject
Настоящие джедаи пишут код, который дает разный результат в зависимости от квантовых процессов в CPU.
no subject
Там разве есть какие-то другие тонкости кроме того, что если тупо брать остаток, например, то по-хорошему ещё нужно посмотреть на частное и, если оно большеилиравно (2^31 - 1) / 0x10B (если диапазон исключительный, кажется, ничего не напутал), то нужно перегенерить?
А чего там вообще смешного, влом смотреть?
no subject
да ничего там особенно смешного, кроме этих magic numbers захардкоженых. 0, 0x9a4ec86 и 0x7FFFFFFF им почему-то не влом было определить как константы, а остальное - влом.