Напишите программу, которая упорядочивает натуральные числа в массиве в порядке убывания суммы цифр десятичной записи
Напишите программу, которая упорядочивает натуральные числа в массиве в порядке убывания суммы цифр десятичной записи числа. При равной сумме цифр чисел должен сохраняться исходный порядок.
Входные данные:
В первой строке содержится размер массива N.
Во второй строке через пробел задаются N чисел - элементы массива.
Гарантируется, что N > 0.
Выходные данные:
Программа должна вывести в одной строке элементы массива, отсортированные в порядке убывания суммы цифр десятичной записи числа, разделив их пробелами.
Примеры:
Ввод:
6
9 21 32 55 81 11
Вывод:
55 9 81 32 21 11
25.05.2024 11:12
Описание:
Программа должна упорядочить натуральные числа в массиве в порядке убывания суммы цифр каждого числа. Если два числа имеют одинаковую сумму цифр, то их порядок должен оставаться неизменным.
Пояснение:
Для решения этой задачи можно использовать алгоритм сортировки пузырьком. Сначала все числа в массиве сравниваются по сумме цифр, и если сумма цифр первого числа меньше суммы цифр второго числа, то они меняются местами. Этот процесс повторяется для каждой пары чисел в массиве до тех пор, пока все числа не будут упорядочены. При равной сумме цифр чисел порядок сохраняется. Решение может выглядеть следующим образом:
Совет:
Чтобы лучше понять эту задачу, рекомендуется ознакомиться с алгоритмами сортировки, особенно с алгоритмом сортировки пузырьком. Также полезно разобраться в работе со строками и арифметическими операциями.
Проверочное упражнение:
Напишите программу, которая сортирует следующий массив по убыванию суммы цифр чисел: [21, 156, 73, 45, 120, 89]. Какой будет результат?