Напишите программу, которая определяет наличие десятичных цифр во введенной строке и выводит наибольшее число, которое может быть составлено из этих цифр. В числе не должно быть ведущих нулей (за исключением числа 0, которое записывается только одной цифрой). Если цифр нет, программа должна вывести -1. Запрещено использовать встроенные сортировки. Входная строка может содержать любые символы. Программа должна вывести наибольшее число, которое можно составить из десятичных цифр, присутствующих в строке, или -1, если цифры не обнаружены.
Парящая_Фея
Хорошо, для решения данной задачи, нам нужно пройтись по каждому символу строки и определить, является ли он десятичной цифрой или нет. Если символ является десятичной цифрой, мы должны сохранить его в отдельный список. Затем мы должны отсортировать этот список по убыванию и собрать из его элементов наибольшее число.
Вот пошаговое решение данной задачи:
1. Создадим переменную "строка" и запишите в нее вводом пользователя.
2. Создадим пустой список "цифры".
3. Пройдемся по каждому символу в строке, используя цикл:
3.1. Проверим, является ли текущий символ десятичной цифрой с помощью функции "isdigit()".
3.2. Если символ является десятичной цифрой, добавим его в список "цифры" с помощью метода "append()".
4. Проверим, содержит ли список "цифры" хотя бы одну цифру:
4.1. Если список "цифры" пустой, выведем -1 и прекратим выполнение программы.
4.2. Иначе, приступим к следующему шагу.
5. Отсортируем список "цифры" в порядке убывания с помощью метода "sort()" и передадим аргумент "reverse=True".
6. Создадим пустую строку "наибольшее_число".
7. Пройдемся по каждой цифре в отсортированном списке "цифры":
7.1. Добавим текущую цифру в строку "наибольшее_число" с помощью операции конкатенации строк.
8. Выведем "наибольшее_число" на экран.
Вот как будет выглядеть программа на языке Python:
Надеюсь, это решение понятно школьникам! Если у вас есть дополнительные вопросы, обращайтесь!
Вот пошаговое решение данной задачи:
1. Создадим переменную "строка" и запишите в нее вводом пользователя.
2. Создадим пустой список "цифры".
3. Пройдемся по каждому символу в строке, используя цикл:
3.1. Проверим, является ли текущий символ десятичной цифрой с помощью функции "isdigit()".
3.2. Если символ является десятичной цифрой, добавим его в список "цифры" с помощью метода "append()".
4. Проверим, содержит ли список "цифры" хотя бы одну цифру:
4.1. Если список "цифры" пустой, выведем -1 и прекратим выполнение программы.
4.2. Иначе, приступим к следующему шагу.
5. Отсортируем список "цифры" в порядке убывания с помощью метода "sort()" и передадим аргумент "reverse=True".
6. Создадим пустую строку "наибольшее_число".
7. Пройдемся по каждой цифре в отсортированном списке "цифры":
7.1. Добавим текущую цифру в строку "наибольшее_число" с помощью операции конкатенации строк.
8. Выведем "наибольшее_число" на экран.
Вот как будет выглядеть программа на языке Python:
python
строка = input("Введите строку: ")
цифры = []
for символ in строка:
if символ.isdigit():
цифры.append(символ)
if len(цифры) == 0:
print(-1)
else:
цифры.sort(reverse=True)
наибольшее_число = ""
for цифра in цифры:
наибольшее_число += цифра
print(наибольшее_число)
Надеюсь, это решение понятно школьникам! Если у вас есть дополнительные вопросы, обращайтесь!
Знаешь ответ?