alima1010
14.07.2022 03:59

Как вы понимаете концепцию языка программирования?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
elena0795
30.05.2021 17:45

Тема "Перевод из десятичной системы счисления в другие системы счисления"

Жил был художник в 7А316 году до нашей эры. И придумал он как-то раз нарисовать коллекцию сказочных картин о

жизни насекомых, которая состояла из 9E16 картин. Рисовал он, рисовал, и вдруг увидел 112 божьих коровки. Не

очень красивыми они ему показались. И решил он изменить цвет спинки, странно выглядела божья коровка.

Изменил у божьей коровки цвет головки, она опять странно выглядела. Сначала нарисовал художник 258 пятнышко

на спинке, а потом подумал он: 1516 пятнышек на одной божьей коровке - это очень много. Стер 168 пятнышек со

спинки - красивая она стала. И так ему божья коровка понравилась, что он нарисовал сразу 10012 штук. 10111112

картин художника повесили в музее, что бы все любовались. 1111112 картины художник подарил родителям и

близким друзьям. А у божьих коровок до сих пор точки на спине остались. Наверно до сих пор художник рисует. В

мире насчитываю более 76408 видов божьих коровок. Когда другие насекомые спрашивают: « Почему у вас божьих

коровок точки на спине?». Они отвечают: «Это нас художник раскрасил».

0,0(0 оценок)
Ответ:
Vanya543q
18.08.2021 08:52
Решение

В питоне есть хороший модуль itertools. В нём есть комбинаторные функции - перестановки, размещения и куча других классных вещей. Давай вызовем itertools.permutations, передадим туда твоё число как строку и длину перестановок - 3:

permutations('123', 3) --> 123 132 213 231 312 321

permutations('100', 3) --> 100 100 10 1 10 1

Очередная перестановка, формально, представляется в виде списка. Переведём в строку: ''.join(i)

...И уберём ведущие нули: .lstrip('0')


Код

import itertools


for i in itertools.permutations(input(), 3):

   print(''.join(i).lstrip('0'))

# Ввод:

# 100

# Вывод:

# 100

# 100

# 10

# 1

# 10

# 1



Условие задачи позволяет нам выводить повторяющиеся перестановки. Если нас это не устраивает, мы можем добавить проверку уникальности через set:

import itertools


checker = set()

for i in itertools.permutations(input(), 3):

   s = ''.join(i).lstrip('0')

   if not(s in checker):

       print(s)

       checker.add(s)

# Ввод:

# 100

# Вывод:

# 100

# 10

# 1

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота