Skip to main content

Posts

Showing posts from June 16, 2018

Recursion

Рекурсивын тухай. Энэ нь өөрөө өөрийгөө дуудаж чаддаг функц юм. Жишээгээр ойлгомжтой байх болов уу? Жишээ нь бид 1  ээс  N хүртэл хэвлэмээр байлаа. Мэдээж үүнийг хийхэд амархан. Бид while, эсвэл for ашиглаад үүнийг шийдэж болно. Харин Рекурсив ашиглаад үүнийг хийвэл хэрхэн хийгдэх талаар.  Бид 1 гэсэн тоог хэвлээд дараа нь 2 гэсэн тоог хэвлэнэ. харин дараа нь 3 гэх мэт энэ нь N хүрээд зогсоно. Тэгвэл рекурсивийн зогсох нөхцөл нь N гэсэн үг ба бид N- ээс  ялгаатай K гэсэн тоог хэвлэсэн тохиолдолд 1- ээс  K хүртэл бүх тоог хэвлэсэн гэсэн үг ба K < N бага тул K+1 гэсэн тоог хэвлэх ёстой ба. Үргэлжлүүлэн хэвлэх ёстой гэсэн үг юм. Харин K == N нөхцөл биелбэл бид N хүртэлх бүх тоог хэвлэсэн гэсэн үг юм. Тиймээс үүгээр зогсоно. Бид N гэсэн тоог N-1 хүртэлх тоо хэвлэгдсэн гэж үзвэл үүний ард N гэсэн тоогоо хэвлэхэд хангалттай гэсэн үг юм. Тэгвэл N хүртэл хэвлэхийн тулд N-1 хүртэл хэвлэсэн байх ёстой. N-1- ыг  хэвлэхийн тулд N-2 хүртэл хэвлэсэн байх ёстой гэх мэт 2 гэсэн тоог хэвлэхийн