IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Поиск определенного элемента последовательности, (Олимпиадная задача)
Пархом
сообщение 28.11.2006 9:19
Сообщение #1


Гость






Пиплы плизззз помогите решить задачу по Паскалю! Очень нуно! Я и сам бы её решил, но с моим умом тока на кюлькюляторе считать можно.
Задача следующего содержания:
Последовательность из латинских букв строится следующим образаом. На первом шаге она пустаю На каждом последующем шаге последовательность удваивается,
после чего к ней слева дописывается очередная буква латинского алфовита(a,b,с....)
ПОСТРОЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
1 ШАГ: последовательность пустая
2 ШАГ: a
3 ШАГ: baa
4 шаг: cbaabaa
5 шаг: dcbaabaacbaabaa
ЗАДАЧА состоит в том, на задонном числе N определить символ, который стоит нана Nом месте в последовательности получившейся после 26ого шага.
Заранее пасиба. Оч ень на вас надеюсь товарищи mega_chok.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 28.11.2006 9:47
Сообщение #2


Гость






решение задачи сводится к следующему алгоритму (M - заданная позиция, символ, находящийся в которой предстоит определить):
Код
    1) Вычислим длину №-ой последовательности по формуле L = 2^(N-1) - 1
    2) Если M > L, то буквы нет. Конец работы.
    3) Если M = 1, то буква имеет номер N. Конец работы.
    4) Находим параметры предыдущей последовательности.
      N = N —1
      L = (L —1) / 2
      M = M —1
      Если M > L, то M = M —L
    5) Повторяем от пункта 3).
Запрограммировать сам сможешь?
 К началу страницы 
+ Ответить 
hiv
сообщение 28.11.2006 10:16
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Зачем программировать blink.gif После N-того шага на N-том месте будет всегда стоять буква a причем для любого N, кроме первого, когда строка пустая smile.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.11.2006 10:37
Сообщение #4


Гость






А нужно определить не после N-го, а после 26-го шага, но в N-ой позиции smile.gif
 К началу страницы 
+ Ответить 
Гость
сообщение 3.12.2006 16:55
Сообщение #5


Гость






Пасиба парни! Я в следующий круг вышел!!! В эту пятницу ещё задач подкину
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.06.2025 22:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"