2016-07-09 3 views
0

Я хотел бы случайным образом создать набор целых чисел от 1 до 100. После сортировки целых чисел, минимальный интервал между каждым целым числом не должен быть меньше, чем 2. НапримерПроизводите набор случайных целых чисел с минимальными интервалами в Matlab

2,4,8,10 

удовлетворяет требованием в то время как следующий набора

2,4,5,7 

не так как интервал между 4 и 5 меньше 2. Есть ли способ достичь этого? Благодаря!

+1

Что вы попробовали? насколько вам нужен ваш набор? –

ответ

3
N = 10; % number of integers required 
delta = 2; % minimum difference required 

a = randperm(100); 
idx = 1; 
b = a(idx); 

while(length(b) < N && idx < length(a)) 
    idx = idx+1; 
    c = abs(b - a(idx)); 
    if any(c < delta) 
     continue; 
    end 
    b = [b; a(idx)]; 
end 

b 
Смежные вопросы