Показать сообщение отдельно

  #2  
Старый 19.12.2009, 20:03
TRX.new
Участник форума
Регистрация: 27.04.2009
Сообщений: 189
С нами: 8968720

Репутация: 69
По умолчанию

Цитата:
Сообщение от Gifts  
TRX.new Зачем вы используете флоат, который А - неточный, Б - имеет ограничение на длину? Господи, еще и преобразование в строку >.<

PHP код:
# -*- coding: utf-8 -*-

import random
from math import floor

rand_array 
= []
count 20000;
divider 0xFFFFFFFF;

def gen_random_array(seed):
    
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(1divider)
                break
            if 
tmp in rand_array:
                if 
i>1000: print 'Atata'str(i), str(seed)
                
seed random.randint(1divider)
                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)) 
Спасибо! Буду разбираться... не все тут понятно конечно..
 
Ответить с цитированием