М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
девочка25th
девочка25th
21.04.2023 04:05 •  Информатика

Складові системи програмування​


Складові системи програмування​

👇
Открыть все ответы
Ответ:
katyan1va
katyan1va
21.04.2023

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

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

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

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

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

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

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

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

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

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

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

4,7(66 оценок)
Ответ:
nika7912
nika7912
21.04.2023
Решение

В питоне есть хороший модуль 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

4,7(98 оценок)
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ