[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вопрос жизни \ смерти!
johniek_comp
Как решать рекуррентные уравнения?

Курю ману не помогает, кто-то разбирается вообще?

Есть такой пример:
An = An-2 + 3An-1

A(нулевое) = 0
A(первое) = 1

как его решать!? Хоть чуть-чуть!!!



Спустя 30 минут, 23 секунды (20.01.2012 - 16:51) vital написал(а):
Циклом.

Спустя 18 минут, 10 секунд (20.01.2012 - 17:09) slimper написал(а):
тут дано два значения для первого шага. Вычисляешь сразу A[2] те n=2
a[0] = 0;
a[1] = 1;
чтоб посчитать например a[10] ты должен вычислить a[9] и a[8], соотв.

a[2] = 0 +3*1 = 3;
a[3] = 1 + 3*3 = 10;
a[4] = 3 + 3*10 = 33;
a[5] = 10 +3*33 = 109;
ну и тд
как то так

Спустя 21 минута, 47 секунд (20.01.2012 - 17:31) Игорь_Vasinsky написал(а):
ohmy.gif blink.gif ohmy.gif

Спустя 2 часа, 39 минут, 25 секунд (20.01.2012 - 20:10) UnWind написал(а):
Блин - никогда не дружил с дискретной математикой.
Буду тоже ждать объяснений - очень интересно...

Спустя 9 минут, 1 секунда (20.01.2012 - 20:19) johniek_comp написал(а):
смерть наступила раньше...

Спустя 19 минут, 7 секунд (20.01.2012 - 20:38) Игорь_Vasinsky написал(а):

Спустя 1 час, 5 минут, 56 секунд (20.01.2012 - 21:44) sergeiss написал(а):
Цитата (johniek_comp @ 20.01.2012 - 17:20)
Курю ману не помогает, кто-то разбирается вообще?

Не понял. Ты хочешь сделать это на ПХП или вопрос более абстрактный?

Спустя 12 часов, 14 минут, 42 секунды (21.01.2012 - 09:59) Эли4ка написал(а):
рекуррентные выражения лучше всего решать циклами for и while ...

Спустя 1 час, 24 минуты, 15 секунд (21.01.2012 - 11:23) sergeiss написал(а):
Эли4ка - если говорить про реализацию, то циклы тут не нужны.

Я так до конца и не понял, что же ТС хотел сделать... Предположу, что надо найти (вычислить) Н-й элемент.

Тогда делаем элементарную функцию

Есть такой пример:
An = An-2 + 3An-1

A(нулевое) = 0
A(первое) = 1


function get_element( n )
{
if( n == 0 ) return 0;
if( n == 1 ) return 1;
return get_element( n-2 ) + 3*get_element( n-1 );
}


Вот и всё :) Теперь достаточно написать что-то типа
echo get_element(15);

чтобы получить 15-й элемент последовательности.

Спустя 2 часа, 10 минут, 56 секунд (21.01.2012 - 13:34) alex12060 написал(а):
соглашусь с Сергеем, тут циклы не нужны, это называется Рекурсией, когда функция в своем теле вызывает саму себя smile.gif

Спустя 52 секунды (21.01.2012 - 13:35) Эли4ка написал(а):
sergeiss
Ваш пример хороший..ну а вдруг надо будет посчитать сумму нескольких значений последовательности?..

Спустя 24 минуты, 22 секунды (21.01.2012 - 13:59) YVSIK написал(а):
Цитата (Эли4ка @ 21.01.2012 - 13:35)
sergeiss
Ваш пример хороший..ну а вдруг надо будет посчитать сумму нескольких значений последовательности?..

Свернутый текст
Эли4ка что значит вдруг? если это вдруг наступит неожиданно, тебе ещё одну функцию выдадут или эту подправят, (а то вдруг?!мМММММММ) все у вас понимаешь ВДРУГ случается, то вдруг сосед за солью пришел, то вдруг мужа забыла накормить , ну уж извините, ВДРУГ== бывают и разные(цитата-от пятачка smile.gif ) !!

Спустя 15 часов, 23 минуты, 3 секунды (22.01.2012 - 05:22) Эли4ка написал(а):
YVSIK
ладно..уговорили.. cool.gif

Спустя 4 часа, 34 минуты, 23 секунды (22.01.2012 - 09:57) sergeiss написал(а):
Цитата (Эли4ка @ 21.01.2012 - 14:35)
.ну а вдруг надо будет посчитать сумму нескольких значений последовательности?..

Если "случится вдруг", то это будет уже другая задача :)

Один из вариантов решения которой может быть таким
$sum=0;
for( $i=10; $<=15; $i++)
$sum += get_element( $i );

Если будет задача вывести данные, то это будет уже ТРЕТЬЯ задача! И не надо их в кучу мешать. Надо четко разделять все элементы. Тогда и вопросы, кстати, будут понятнее.

Заодно приведу такой пример неправильно задаваемого вопроса, очень распространенный. У человека проблема в том, что не работает SQL-запрос. И он приводит строк 100 кода, включая сам запрос. И немало отвечающих просто не понимают, о чем идет речь!!! Почему? Да потому что думают, что проблема в выводе данных (нафига же он столько кода показал?), а проблема на самом деле в получении данных (потому что запрос неверный).

Цитата (YVSIK @ 21.01.2012 - 14:59)
ВДРУГ== бывают и разные(цитата-от пятачка)

На самом деле, это сказал Кролик. И сказал он "Я - бывают разные!" :) ;) :D :lol:

Спустя 2 часа, 45 минут, 35 секунд (22.01.2012 - 12:42) Эли4ка написал(а):
sergeiss
Вы так доступно объясняете...может Вы обучением людей займетесь?я бы лично Вам платила за обучение..

Спустя 3 часа, 14 минут, 28 секунд (22.01.2012 - 15:57) sergeiss написал(а):
Цитата (Эли4ка @ 22.01.2012 - 13:42)
Вы так доступно объясняете...может Вы обучением людей займетесь?

А у меня не просто так написано около аватара "Технический Тренер (GSM-GPRS-EDGE-3G-4G)" smile.gif

Цитата (Эли4ка @ 22.01.2012 - 13:42)
я бы лично Вам платила за обучение..

Эти вопросы лучше в личку или в асю. Номер аси есть в профиле.

Спустя 18 часов, 50 минут, 11 секунд (23.01.2012 - 10:47) Эли4ка написал(а):
sergeiss
уже записала номер аськи..будут вопросы обращусь.


_____________
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.