Задача на строки и числа. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на строки и числа. |
1qsd |
15.03.2007 19:34
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Kost Репутация: 0 |
Здравствуйте. Помогите решить следующую задачу.
Записаны все степени числа 2^k (0<=k<=100). Переписать их в одну строку так, чтобы полученное число было наименьшим. Например: k=5, число 11623248 (1 16 2 32 4 8) k=10, число 10241128162256324512648 (1024 1 128 16 2 256 32 4 512 64 8) |
volvo |
15.03.2007 19:52
Сообщение
#2
|
Гость |
Фактически задача сводится к сортировке полученных чисел - степеней двойки (только сортировать их надо НЕ как числа, а как строки)... После того, как массив таких строк будет отсортирован по возрастанию, достаточно выписать все его элементы подряд...
|
мисс_граффити |
16.03.2007 0:46
Сообщение
#3
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
volvo,
var s1,s2:string; не получается так... надо вводить дополнительное условие: если одна строка входит в другую с начала... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
16.03.2007 1:24
Сообщение
#4
|
Гость |
Цитата если одна строка входит в другую с начала... Объясни мне тогда, как задать вот этот момент:1024 < 1 < 128 ? Я, кстати, не написал, что надо сравнивать лексикографически... Над методом сортировки сейчас думаю... Добавлено через 2 мин. Кстати, есть еще один момент: 2100 - это в любом случае длинная арифметика... |
мисс_граффити |
16.03.2007 2:04
Сообщение
#5
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Объясни мне тогда, как задать вот этот момент у меня получилось вот что.... program sort; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
16.03.2007 2:15
Сообщение
#6
|
Гость |
Не пойдет... Смотри, что получается в твоей программе при n = 15:
1024 1 128 16 16384 2 2048 256 32 4096 4 512 64 8 8192 |
мисс_граффити |
16.03.2007 2:20
Сообщение
#7
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
сорри, недосортировывала....
исправила. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
16.03.2007 2:23
Сообщение
#8
|
Гость |
А вот мой вариант...
program sort; |
volvo |
16.03.2007 10:14
Сообщение
#9
|
Гость |
А вот, если кому интересно, полная программа, включая генерацию всех степеней двойки при 1 <= N <= 100, безо всякой длинной арифметики...
Прикрепленные файлы minimal.pas ( 1.01 килобайт ) Кол-во скачиваний: 167 |
Текстовая версия | 28.04.2024 21:03 |