Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное...

0 голосов
165 просмотров

Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Как работает этот цикл? Почему цифры сдвигаются влево?


image

Информатика (2.1k баллов) | 165 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Здесь показан алгоритм сортировки пузырьком

Видимо, repeat until стоит как проверка вводимого числа на натуральность

Число n далее преобразуются в строку так как строка позволяет сравнивать и обменивать местами цифры.

Далее идет реализация самой сортировки и вывод

(102 баллов)
0

Ну, цифры сдвигаются влево из-за особенности пузырьковой сортировки - подробнее о ней можно почитать здесь: https://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC

0 голосов

С виду это на Паскале программа, но тогда в ней цикл repeat until никак не работает, поскольку записан он неверно. Формат записи другой. В начале цикла пишется repeat, а until n>0 пишется в конце. Похоже, что этот заголовок кто-то списал с Бейсика.


По задумке тут число преобразуется в строку, а затем цифры в ней упорядочиваются по убыванию. Для этого используется обменная сортировка в ее разновидности, называемой также "пузырьковая сортировка". Конечно, классическая пузырьковая сортировка реализуется немного иначе, там внутренний цикл идет от конца к началу, а тут от начала к концу, что характерно для разновидности, называемой "метод камня". При сравнении пары значений происходит их обмен местами в случае, когда левый элемент меньше правого. Поэтому левые элементы с более меньшим значением переходят правее, а элементы с большим знаением - левее. Создается впечатление, что бОльшие цифры сдвигаются влево.

(2.0k баллов)
0

Энивей, цикл на проверку натуральности не может не работать.

0

Причем тут цикл на проверку натуральности? Пишешь всякую ерунду.

0

О господи, ты вообще подключаешь мозги, когда кому - то пишешь?