Перестановка цифр Дано трехзначное число \overline{abc}
abc
, в котором все цифры различны. Напишите программу, которая выводит шесть чисел, образованных при перестановке цифр заданного числа.

Формат входных данных
На вход программе подаётся положительное трёхзначное целое число, все цифры которого различны.

Формат выходных данных
Программа должна вывести шесть чисел, образованных при перестановке цифр заданного числа в следующем порядке: abc, \, acb, \, bac, \, bca, \, cab, \, cbaabc,acb,bac,bca,cab,cba.

Sample Input 1:

123
Sample Output 1:

123
132
213
231
312
321
Sample Input 2:

987
Sample Output 2:

987
978
897
879
798
789
Через Python 3 для stepik

milankae milankae    2   10.12.2020 10:14    226

Ответы
ftf3 ftf3  07.01.2024 03:23
Для решения данной задачи нужно использовать комбинаторику, а именно перестановку элементов.

Для начала вводим трехзначное число:
```python
n = int(input())
```
Затем нужно получить каждую цифру числа, чтобы переставлять их местами. Для этого будем использовать операцию деления по модулю (%):
```python
a = n // 100
b = (n // 10) % 10
c = n % 10
```
Теперь у нас есть каждая цифра числа и мы можем производить перестановки. Для этого используем цикл for, который пройдет по всем возможным значениям a, b и c и выведет их комбинации.
```python
# Перестановка abc
print(a, b, c)
print(a, c, b)
print(b, a, c)
print(b, c, a)
print(c, a, b)
print(c, b, a)
```
Таким образом, для числа 123 программа выведет:
```
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
```
Для числа 987 программа выведет:
```
9 8 7
9 7 8
8 9 7
8 7 9
7 9 8
7 8 9
```

Полный код программы, решающей данную задачу, выглядит следующим образом:
```python
n = int(input())

a = n // 100
b = (n // 10) % 10
c = n % 10

print(a, b, c)
print(a, c, b)
print(b, a, c)
print(b, c, a)
print(c, a, b)
print(c, b, a)
```
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика