![]() |
Модераторы: Alx, Fixin |
![]() ![]() ![]() |
|
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Привет!
Есть лестница, ступеньки которой пронумерованы от 1. Есть правило как по такой лестнице подниматься: если стоишь на ступеньке с номером не являющимся простым числом - можешь подняться на следующую ступеньку или перепрыгнуть на ступеньку за ней, если номер ступеньки является простым числом, можно подняться только на одну - следующую за ней ступеньку. Надо пройти с первой ступеньки до k-той. Сколькими способами можно до k-той ступеньки подняться? А теперь, внимание, задача: написать нерекурсивную (!!!) функцию для подсчета количества способов забраться на k-тую ступеньку. Напомню, что простое число - это такое число, которое делится только на себя и на 1 (исключение: единица не является простым числом). Например: 2, 3, 5, 7, 11 ... П.С. Эту задачку задали моей жене (она учится на упрвлении пр-вом). -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 1 Всего: 32 |
Элементарно, neutrino
Используем метод динамического программирования - зная, сколько способов для i-той ступеньки, находим количество способов для i+1-ой и (если не простое) для i+2-ой Написал на паскале. Если что-то непонятно, объясню
Это сообщение отредактировал(а) Fedor - 4.1.2005, 17:14 -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Я сам решил эту задачу. Какова сложность твоего алгоритма?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 1 Всего: 32 |
K*(время определения простоты числа)
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Программа работает неправильно. До 4-й ступеньки можно добраться 2-мя способами, а она пишет 1.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Видимо ошибка в том, что ты не проверяешь что единица не простое число.
Все равно есть более оптимальное решение. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 1 Всего: 32 |
ой ![]() ![]() ![]() -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 1 Всего: 32 |
какая сложность получилась у тебя?
И покажи решение плиз если можно... -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Неа. Не покажу. Пусть загрузят комбинаторную библиотеку и сами решат.
Добавлено @ 22:55 Сложность, кстати, посчитать у меня трудно за незнанием закона распределения простых чисел ... -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: 1 Всего: 32 |
закона не знаю ![]() ну я ведь тоже не идеально посчитал... а так... округлил навскидку... -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Ну? Еще версии...
Кхмм... А я думаю кто это этот Дядь Федр ... ![]() -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |