Дано N-значное натуральное число X. Ваша задача - переставляя цифры числа X, получить наименьшее возможное N-значное число Y. Напишите программу для решение данной задачи
def smallest_number(x): # Преобразуем число в список цифр digits = [int(d) for d in str(x)] # Сортируем цифры по возрастанию digits.sort() # Удаляем нули из списка цифр, если они есть while digits[0] == 0: digits.pop(0) # Собираем список цифр обратно в число y = int(''.join(map(str, digits))) return y # Вводим число X x = int(input("Введите число X: ")) # Получаем наименьшее возможное число Y y = smallest_number(x) print("Наименьшее возможное число Y:", y)
Пример работы программы:
Введите число X: 895403 Наименьшее возможное число Y: 34589
# Преобразуем число в список цифр
digits = [int(d) for d in str(x)]
# Сортируем цифры по возрастанию
digits.sort()
# Удаляем нули из списка цифр, если они есть
while digits[0] == 0:
digits.pop(0)
# Собираем список цифр обратно в число
y = int(''.join(map(str, digits)))
return y
# Вводим число X
x = int(input("Введите число X: "))
# Получаем наименьшее возможное число Y
y = smallest_number(x)
print("Наименьшее возможное число Y:", y)
Пример работы программы:
Введите число X: 895403Наименьшее возможное число Y: 34589