Математиците да се обадят

Нещата от живота
Аватар
wannabe
Мнения: 4407
Регистриран на: 04 Юни 2004 15:50
Местоположение: Taina
Обратна връзка:

Мнение от wannabe »

Аз написа:
THE KING OF TIME написа:Учи ли се въобще в училище такова нещо. То тва не е за нормални хора ебаси.


Учихме го в 10 клас и нищо не схванах :D
Рекурсия не се учи в 10ти,иначе щях да си спомням :roll:
Аватар
SneakyDude
Мнения: 391
Регистриран на: 09 Авг 2001 13:23
Местоположение: София
Обратна връзка:

Мнение от SneakyDude »

Jorix написа:
Аз написа:
THE KING OF TIME написа:Учи ли се въобще в училище такова нещо. То тва не е за нормални хора ебаси.


Учихме го в 10 клас и нищо не схванах :D
Рекурсия не се учи в 10ти,иначе щях да си спомням :roll:

В 11-ти се учи.
Аватар
AlShu
Мнения: 4392
Регистриран на: 28 Юли 2001 17:23
Местоположение: Sofia

Мнение от AlShu »

Понеже никой не обясни за еденичния факториел
1! = 1
2! = 1 Х 2
3! = 1 Х 2 Х 3
4! = 1 Х 2 Х 3 Х 4

Накратко - съкратен начин да запишеш умножението на 1 по 2 по 3 по ... до N.

За рекурсията - както беше описано по-горе рекурсивна е тази функция, която сама вика себе си...
Може от пръв поглед да не личи, но рекурсията е много мощно средство - с нея много лесно се пишат алгоритмни за обхождане на графи (разбирай лабиринти, обхождане на шахматна дъска с определена фигура и т.н.) при това с така наречения бектрекинг (т.е. тръгва да обхожда, стига до здънена улица, връща се не предишната пресечка, пробва нова посока, стига до задънена улица, пак се връща...и така докато намери път или всички пътища или най-късия от тях примерно...).

Смятането на факториел с рекурсивна функция, не е кой знае какво, но демонстрира как да се използва рекурсията (но не демонстрира пълната и мощ).

Хайде да напишем фунция за N!

Основите елементи на рекурсивната функция са: 1-во трябва да и кажеш какво да прави в еденичния случай (при нас ако N = 1 и функцията е 1) 2-ро да определиш каква е функцията, ако вече имаме изчислена функцията за N-1 стъпки (при нас Ф(N) = Ф (N-1) Х N).

Ето как изглежда рекурсивна функция за изчисляване на N!

функция Ф1(статичен параметър N)

Ако N = 1 тогава Ф1 = 1
иначе Ф1 = Ф1(N-1) * N


Ако извикаме примерно Ф1(4) ще ни върне 24 (т.е. ако попълним цяло число ще смята факториел от него...ако не е цяло ще зацикли и ще изчерпа маметта :lol: )

В някои езици нещата ще изглеждат различно.

Обратния (т.е. нормалния ) начин за решаване на такива задачи (примерно с цикъл), се нарича итеративен.

Накратко - щом аз съм го разбрал, значи е нещо елементарно...
The only difference between Salvador Dalí and crazy people
is that Salvador Dalí is not crazy.
Аватар
wannabe
Мнения: 4407
Регистриран на: 04 Юни 2004 15:50
Местоположение: Taina
Обратна връзка:

Мнение от wannabe »

AlShu написа:Понеже никой не обясни за еденичния факториел
1! = 1
2! = 1 Х 2
3! = 1 Х 2 Х 3
4! = 1 Х 2 Х 3 Х 4

Накратко - съкратен начин да запишеш умножението на 1 по 2 по 3 по ... до N.
Ми аз мисля че го обясних,ама никои не ми обръща внимание :roll:
Аватар
Gnumerick
Мнения: 529
Регистриран на: 29 Май 2004 20:01
Местоположение: In my den, staying in the corner Професия: Scientist Интереси: Technologies
Обратна връзка:

Мнение от Gnumerick »

За да го обясня още веднъж, ще дам две формули за членовете на прогресията на Фибоначи - рекурсивна и директна.
Нека първо да обясня какво представлява числова редица, чиито частен случай е прогресията.
Ще направя таблица, в която на първия ред ще напишем числата 1, 2, 3 и т.н., а на втория – числата от прогресията на Фибоначи. За да е дефинирана една числова редица, трябва да има правило (алгоритъм), чрез който от числото 1 да се получи първия член от редицата, от числото 2 – втория член, и т.н., от числото n да се получи n-ия член на редицата.
Изображение
Както виждаш, разбихме на стъпки стойностите, докато получим излаз, в който участват само F(1) и F(2). Защо ли? Защото преди малко казахме, че тези две стойности са дефинирани, като в тази случай са равни на 1. Така получаваме:
F(6)=1+1+1+1+1+1+1+1
F(6)=8
т.е. сме получили отговора вярно.
Това е и същността на рекурсията – използвайки свойствата на функцията да получим дефинираните предварително стойности.
Надявам се да съм бил полезен, ако нещо не е ясно, питай.
Изображение

Изображение

"Най-необяснимото на света е, че той е напълно обясним."
Алберт Айнщайн
Публикувай отговор