Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 78
1

Создать список случайных чисел в заданном интервале не содержащийся в заданном списке

06.12.2015, 19:46. Просмотров 2307. Ответов 3
Метки нет (Все метки)

Задан упорядоченный по возрастанию целочисленный массив. Сформировать второй массив из случайных целых чисел, которые не встречаются в первом массиве, но имеют величину больше минимального и меньше максимального из чисел первого массива.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2015, 19:46
Ответы с готовыми решениями:

Генерация случайных целых чисел в заданном интервале
Здравствуйте! Правильно ли я прописал код случайных чисел от -1 до 2 ??? Спасибо. procedure...

Функции генерации случайных чисел на заданном интервале
оценить качество использования функции генерации случайных чисел на заданном интервале. Эти...

Вывести 5 случайных вещественных чисел в заданном интервале
насколько мне известно, rand() генерирует числа от 0 до 37 тысяч и только целые мне же нужно чтобы...

Rand(), генерирование случайных чисел в заданном интервале
дана функция int MyDblRand(double a,double b) надо написать так что когда будем вызывать функцию в...

3
Эксперт по компьютерным сетям
3837 / 2640 / 822
Регистрация: 03.11.2009
Сообщений: 8,307
Записей в блоге: 3
06.12.2015, 21:22 2
Лучший ответ Сообщение было отмечено Jabbson как решение

Решение

Python
1
2
3
4
5
6
7
8
import random
 
a = [1,2,5,9,12]
res = []
while len(res) < len(a):
    n = random.randint(min(a)+1, max(a)-1)
    if n not in a:
        res.append(n)
1
Модератор
Эксперт NIX
2647 / 1991 / 668
Регистрация: 02.03.2015
Сообщений: 6,393
06.12.2015, 22:20 3
Стоит немного ускорить код
Python
5
6
7
low, high, l_len = a[0]+1, a[-1]-1, len(a)
while len(res) < l_len:
    n = random.randint(low, high)
Зачем делать расчет при каждой итерации, если надо посчитать 1 раз?
0
foo();
879 / 581 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
07.12.2015, 04:58 4
Jabbson, Marinero, производительность ваших решений сильно зависит от того, что выплюнет рандом. В целом это почти незаметно, но на плохих входных данных могут возникнуть проблемы. Короче, суть в том, чтобы получить множество искомых чисел, а только потом использовать рандом для перемешивания. На питоне выглядит примерно так:
Python
1
2
3
4
5
6
from random import shuffle
 
a = {1, 2, 5, 9, 12}
 
data = list(set(range(2, 12)) - a)
shuffle(data)
Добавлено через 14 минут
alexbest30rus, выбирать алгоритм стоит учитывая, какие данные и в каком объеме будут поступать программе
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2015, 04:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

ГСЧ для равномерного распределения случайных чисел на заданном интервале
Доброго всем времени суток. Мне нужно получить последовательность случайных чисел типа double...

Список: Написать программу для выделения списков в заданном интервале в произвольно введенном исходном списке.
Написать программу для выделения списков в заданном интервале в произвольно введенном исходном...

Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]
Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале ....

Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]
Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.