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

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

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

 
 Ответить  Открыть новую тему 
> Задача на количетсво вариантов заполнение площади, Есть 1х1 1х2 плитки
сообщение
Сообщение #1


Жгучий чел
*

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

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


Условия:
Есть плитки размером 1х1 и 1х2. сколько вариантов заполнение ими площади размерами 2хN? Ограничения на кол-ство плиток нет, плитки 1х2 используються только 1х2(горизонтально), но не 2х1.
Прошу помочь


--------------------
Я - странный человек
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

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

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


так как плитки 2х1 не используются ,то количество вариантов заполнения площади(2хn) это количество вариантов заполнения площади(1хn) возведенное в квадрат. А для заполнения 1хn количество вариантов это число фибоначи с номером n. Общая формула :: F(n) = F(n - 1) + F(n - 2). Например для n = 1 ответ 1 ,n = 2 ответ 2 ,n = 3 ответ 3 ...,n = 7 ответ 21.

volvo по моему и код рабочий приводил ,поиском по форуму найди.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






о спасибо большое! ну у меня такой вот простенкий алгоритмик вышел:
a:=1; b:=1; c:=0;
for i:=1 to n-1 do begin c:=a+b; a:=b; b:=c; end;
if n=1 then ans:=sqr(b) else ans:=sqr©;

если можно написать по лучче то скажите как плз. А то я учусь, пишу как удобно и не знаю стандартов. Еще раз спасибо
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Жгучий чел
*

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

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


забыл залогится... Кстати там не © а ( c ).


--------------------
Я - странный человек
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Какие значения может принимать N? Если больше 47, то твой алгоритм начнет выдавать неверные результаты: LongInt при N > 47 переполняется... Придется задействовать длинную арифметику...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Жгучий чел
*

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

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


Не у меня N от 1 до 1000. Но даже если я напишу с Божьей помощю длинную арифметику ( с ней у меня всегда проблемы потому что проблемы с динамикой smile.gif ) то у меня жесткое ограничение по времени. И вообще по тем тестам что я сдаю там N принимает не большие значение.


--------------------
Я - странный человек
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 




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