| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > Какой цыкл нужен для етой задачи.Подскажыте |
| Автор: Гость_SLavan 2.11.2005, 16:15 |
| На "Играх гигантов" проводился интеллектуальный конкурс "Суперчисло", в котором необходимо было в десятичной записи натурального числа N поменять местами только две цифры, чтобы полученное число стало по возможности большим. Помогите украинской команде "Maski.ua" выиграть этот конкурс. Входные данные: В текстовом файле supernum.dat находится лишь одно число N. (0<N<1060000) Исходные данные: В текстовый файл supernum.sol вывести одно число, полученное при перестановке цифр числа N. |
| Автор: ShadeSt 2.11.2005, 16:42 |
| Что то я не пойму если запись десятичная, то по идее же представляешь ее в виде строки, находишь наибольшую цифру, и меняешь ее с первой цифрой.... или я не правильно понял что то.. |
| Автор: sergejzr 2.11.2005, 16:51 |
| Грубо- отсортировать цифры по убыванию. 1)На входе - число А. 2)Остсортированноe число S; 3)Цикл по цифрам числа A и одновременно S, пока A[i] = S[i]. 4)А[i+1] заменяем на S[i+1], a на место цифры S[i+1] в А ставим старую A[i+1] Пример: 1) A=8763517 2) S=8776531 3) В цикле до 87 всё ок, затем 6<>7 4) меняем местами в А 6 и 7 Результат: 8773516 PS: Жи, ши пиши с буквой и Ци - аналогично. Исключения: Цыган подошёл на цыпочках к цыплёнку и цыкнул: "Цыц!" |