gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Pretrazivanje sa vracanjem, zadatak sa ciframa
[spa2-materijali.git] / PretrazivanjeSaVracanjem / Cifre / _zad0-cifre.txt
diff --git a/PretrazivanjeSaVracanjem/Cifre/_zad0-cifre.txt b/PretrazivanjeSaVracanjem/Cifre/_zad0-cifre.txt
new file mode 100755 (executable)
index 0000000..b2f71a7
--- /dev/null
@@ -0,0 +1,53 @@
+Zadatak 0 - rekurzivno resavanje problema\r
+=========================================\r
+\r
+Napisati program koji ce na ekran da ispise sve brojeve sa 4 cifre, odnosno\r
+sve od 0000 do 9999.\r
+\r
+0000\r
+0001\r
+0002\r
+0003\r
+0004\r
+...\r
+1000\r
+1001\r
+...\r
+9998\r
+9999\r
+\r
+\r
+Problem resavati pretrazivanjem sa vracanjem, a ne direktno sa nekom\r
+petljom od 0 do 9999.\r
+\r
+\r
+Ideje\r
+-----\r
+\r
+Razmotriti kako problem opisati rekurzivno, a ne iterativno sto bi bio\r
+uobicajeni pristup.\r
+\r
+Problem nekako treba razbiti na rekurzivne delove. Ovde mozemo gledati\r
+po duzini, tj broju cifara koje treba obraditi.\r
+\r
+Na primer za sve jedncifrene brojeve je samo potrebno probati sve mogucnosti 0-9\r
+i svaki put ispisati to resenje.\r
+\r
+Za dve cifre je potrebno probati sve mogucnosti za tu drugu poziciju (0-9) i za\r
+svaku od tih mogucnosti probati sve mogucnosti za jednu cifru.\r
+\r
+Odnosno za bilo koji broj cifara, treba da isprobavamo jednu koju trenutno\r
+gledamo, i za svaku od tih mogucnosti generisanje svih resenja sa manjim\r
+brojem cifara.\r
+\r
+Kod rekurzivnog resavanja problema je uvek neophodno definisati "trivijalne"\r
+izlaze, tj izvrsavanja metoda u kojima nece biti novih rekurzivnih poziva.\r
+Bitno je da se ceo postupak u nekom momentu zavrsi.\r
+\r
+Kod ovog resavanja se to tipicno resava tako sto se rekurzivno uvek ide na\r
+jednu stranu (s leva na desno, ili s desna na levo), a trivijalni pozivi su\r
+kad se stigne na kraj niza ili "ispadne" iz njega (skroz desno, tj skroz\r
+levo).\r
+\r
+Povratak unazad se desava pri povratku iz rekurzije, a ne eksplicitnim\r
+pozivima.
\ No newline at end of file
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner