![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.10.2010
Сообщений: 4
|
![]()
Собственно задача:
Дано натуральное число N. Построить из цифр N максимально возможное число. Нужно решение, с объяснением если можно) Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]()
упорядочиваем цифры числа N по убыванию и все!
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.10.2010
Сообщений: 4
|
![]()
это я знаю, но как на pascal это записать?
|
![]() |
![]() |
![]() |
#4 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
![]()
Ну...Массивом делай!
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 21.10.2010
Сообщений: 4
|
![]()
Во всех задачах используется целочисленная переменная N, значение которой не превосходит по модулю 2 млрд (если не указано иное). Нельзя использовать строковые переменные, массивы или другие структуры.
вот) |
![]() |
![]() |
![]() |
#6 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Введи число в переменную типа integer (например в i) Далее процедурой Str преобразуй ее в строку. А после пройди сортировкой пузырьковой по строке, благо она представляет собой массив символов, и упорядочи по возрастанию. Ферштеен? Примеры сортировки уже обсуждались во всех подробностях. А вот хотя бы тут:http://www.programmersforum.ru/showthread.php?t=1688 Цитата:
Ну тогда в цикле дели на 10-ки и получай числа.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#7 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
![]()
А...Ну тогды циклом.
1. Определяешь длину числа 2. Отщепляешь последнюю циферку и втыкаешь её в начало 3. Если получается число больше чем начальное, то max:=N; 4. Отщепляешь последнюю циферку и втыкаешь опять в начало. 5. Если N>Max то Max:=N 6. Возвращаещь число к первозданному виду. 7. Топаешь в пункт 2, только вместо последней циферки берёшь следующую, т.е. X-1(где X - количество цифр в числе) Как-то так. Хотя, скорее всего, алгоритм неправильный.... ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 130
|
![]()
Пришёл в голову вариант решения без использования символьных и строковых переменных...
Код:
P. S. Сортировку вставкой напоминает... Последний раз редактировалось Kingdom_Reborn; 22.10.2010 в 01:36. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Количество цифр в числе | Zelenyi | Общие вопросы C/C++ | 8 | 18.06.2010 03:24 |
Сколько одинаковых цифр в числе | Banderas123 | Помощь студентам | 16 | 08.12.2009 06:31 |
Найти количество цифр в числе | immor | Помощь студентам | 4 | 14.02.2009 22:30 |
Перестановка цифр в целом числе. Паскаль. | Cheetah | Помощь студентам | 5 | 16.10.2008 21:07 |