
19.12.2009, 19:28
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
TRX.new Зачем вы используете флоат, который А - неточный, Б - имеет ограничение на длину? Господи, еще и преобразование в строку >.<
PHP код:
# -*- coding: utf-8 -*-
import random
from math import floor
rand_array = []
count = 20000;
divider = 0xFFFFFFFF;
def gen_random_array(seed):
i = 0
while i<20000:
tmp = seed;
for i in xrange(20001):
tmp = tmp*tmp >> 16 & divider;
if tmp==0:
tmp = random.randint(1,divider-1)
seed = random.randint(1, divider)
break
if tmp in rand_array:
if i>1000: print 'Atata', str(i), str(seed)
seed = random.randint(1, divider)
break
rand_array.append(tmp)
print 'Seed: %d ' % (seed)
return rand_array
## Затравка 3455982478 - дает хороший результат для критерия хи квадрат
## Получаем массив целых чисел без повторов
rand_arr = gen_random_array(3455982478)
## Преобразуем к диапазону от 0 до 1 с равномерным распределением
for val in rand_array:
print "%F\r\n" % (val / float(divider+1))
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|