Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
1 / 0 / 1
Регистрация: 13.01.2015
Сообщений: 61

Генерация возможных комбинаций из двух чисел 0 и 1 при условии что 0 и 1 должно быть по N-количеству

19.10.2019, 15:49. Показов 5537. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сгенерировать все возможные комбинации длинной 16 символов из нулей и единиц,при условии что 0 и 1 должно быть по N-количеству
например

0 -> 11
1 -> 5

результат

0000000000011111
0000000000111110
.....
1001000110000001
и тд и тп

как это можно организовать?

Python3
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2019, 15:49
Ответы с готовыми решениями:

Генерация комбинаций из двух файлов при условии
есть 2 файла x.txt 00000000 00000010 00000100 00000110 00000111 00001000 00001001 00001010

Сколько возможных комбинаций выпадения 4 кубиков при условии, что хотя бы 2 из них выпадет на грани с одинаковым числом
Здравствуйте! Помогите, пожалуйста, разобраться в следующей задаче: Одновременно бросают 4 разных кубика. Каково кол-во возможных...

Сколько всего существует комбинаций чисел a, b и c при условии, что их сумма равна 100
a = 8 , b = 40 , все числа могут повторяться, но c может использоваться только 1 раз, однако оно может быть равно любому числу. ...

12
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
19.10.2019, 17:31
Python
1
2
3
4
5
6
7
8
9
In [1]: n = 16
 
In [2]: m = 5
 
In [3]: for i in range(1 << n):
   ...:     ai = bin(i)[2:]
   ...:     if ai.count("1") == m:
   ...:         print(ai.rjust(n, "0"))
   ...:
0
1 / 0 / 1
Регистрация: 13.01.2015
Сообщений: 61
19.10.2019, 18:15  [ТС]
ну да вариант,только если увеличить n=63 m=37 то всё виснет
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
19.10.2019, 19:17
madamx, вы серьезно думаете, что перебор 2 ^ 63 элементов - это здравая идея?
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.10.2019, 19:50
Python
1
itertools.permutations([1,1,1,1,1,0,0,0,0,0,0])
1
1 / 0 / 1
Регистрация: 13.01.2015
Сообщений: 61
19.10.2019, 20:04  [ТС]
это не перебор и не 2^63 так как 1 всего 37
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.10.2019, 20:06
Это все возможные перестановки.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
19.10.2019, 20:21
Если единиц n, а нулей - k, то общее число перестановок будет не больше (n+k)!
0
1 / 0 / 1
Регистрация: 13.01.2015
Сообщений: 61
21.10.2019, 12:30  [ТС]
itertools.permutations([1,1,1,1,1,0,0,0,0,0,0])

а если увеличить так
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1
то не работает,одно и тоже значение выводит

Python
1
2
3
4
5
import itertools
 
for p in itertools.permutations([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]):
 
  print(''.join(str(x) for x in p))
может я что не так делаю((
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.10.2019, 12:56
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

madamx, https://stackoverflow.com/a/1851138/10913399
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
21.10.2019, 13:10
Python
1
2
for i in itertools.permutations('0000000000011111'):
    print(''.join(i))
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.10.2019, 13:22
Рыжий Лис, у вас будут дублироваться перестановки.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
21.10.2019, 13:35
И правда. Вот был получен ответ ТСа, почему выводятся одинаковые значения. Просто единички местами переставляются. а выглядит одинаково.

Добавлено через 8 минут
Ладно, соглашусь с решением на стековерфлоу. Хотя не очевидное с первого взгляда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.10.2019, 13:35
Помогаю со студенческими работами здесь

Число должно быть равно одной из комбинаций сумм введенных чисел
вводится N, потом мы вводим столько чисел сколько указали в количестве, и потом вводим M, это число должно быть равно одной из комбинаций...

Генерация всех возможных комбинаций
Доброго времени суток, подскажите идею, нужно чтобы функция составила все возможные комбинации из цифр и английских букв.

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому, что больше некому. Поэтому некоторые,...

Генерация всех возможных комбинаций из элементов массива
Всем привет, совсем недавно зарегистрировался на форуме, начал потихоньку изучать Pascal ABC, поэтому прошу помочь мне с написанием кода. ...

Генерация всех возможных комбинаций для вектора длины N
На вход подаётся число N. Строится матрица размера NxN (для построения использовать класс vector) изначально заполненная нулями. Необходимо...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru