Professional Documents
Culture Documents
Rekurzija
Softwersko Inženjerstvo
Zlatko Petrović
April 1, 2008
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Rešenje:
2
y= y 2 + y = 2, y2 + y − 2 = 0
1+y
√
−1 ± 1+4·2 −1 ± 3
y1,2 = = , y1 = 1, y2 = −2
2 2
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Rešenje:
2
y= y 2 + y = 2, y2 + y − 2 = 0
1+y
√
−1 ± 1+4·2 −1 ± 3
y1,2 = = , y1 = 1, y2 = −2
2 2
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Rešenje:
2
y= y 2 + y = 2, y2 + y − 2 = 0
1+y
√
−1 ± 1+4·2 −1 ± 3
y1,2 = = , y1 = 1, y2 = −2
2 2
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
R1 · X
X = R2 + , ⇒ R1 · X + X 2 = R2 · X + R1 · R2 + R1 · X
R1 + X
odnosno:
q
R2 ± R22 + 4 · R1 · R2
X 2 − R2 · X − R1 · R2 = 0, X1,2 =
2
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
n! = n · (n − 1)!, 1! = 0! = 1
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
n! = n · (n − 1)!, 1! = 0! = 1
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
#include <stdio.h>
int main()
{
int n;
printf("Za koji broj se izracunava faktorijel? -- ");
scanf("%d",&n);
printf("\n%d! = %d -- rekurzivno\n",n,factr(n));
printf("\n%d! = %d -- NErekurzivno\n\n",n,factnr(n));
system("PAUSE");
return 0;
}
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
long factr(int n) {
long answ;
if(n == 1) return(1);
answ = factr(n-1)*n;
return(answ);
}
long factnr(int n) {
long answ=1; int t;
for(t=1; t<=n; t++) answ *=t;
return(answ);
}
Rekurzija se uvek može zameniti petljom ako se dešava
na zadnjoj naredbi!
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
#include <stdio.h>
int main()
{
int n, sa, na;
printf("Koliko ima obruceva u kuli: ");
scanf("%d",&n);
printf("\nSa kojeg se stapa premesta kula: ");
scanf("%d",&sa);
printf("\nNa koji se stap premesta kula: ");
scanf("%d",&na);
premesti(sa,na,n);
printf("\n\n\n");
system("PAUSE"); return 0; }
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
#define MAXZET 34
int pomeranje(int n, char tabla[]);
int kraj(int n,char tabla[]);
int main()
{
char tabla[MAXZET];
int n, i;
printf("\nBroj zetona iste boje : "); scanf("%d",&n);
for(i=0;i<=n;tabla[i]=’X’,tabla[i+n+1]=’O’,i++) ;
tabla[n] = ’ ’;
tabla[2*n+1]=’\0’;
if(pomeranje(n,tabla)) prikazi(n,tabla);
printf("\n\n\n"); system("PAUSE"); return 0; }
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
pomeranje–pomeri–pomeranje!
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
if( kraj(n,tabl) ) {
prikazi(n,tabl);
return 1; }
if( pomeranje(n,tabl) ) {
prikazi(n,tabl);
return 1; }
return 0;
}
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Primeri Rekurzivne formule Hanojske kule Realizacija Uzaludni pokusaji Zaključak
Zlatko Petrović
Rekurzija
Glavolomke
Deo I
Problemi za razmišljanje
Zlatko Petrović
Rekurzija
Glavolomke – 1/4
Glavolomke
O čemu bi sve trebalo voditi računa pri rešavanju sledećih
problema pomoću računara?
http://www.puzzleworld.org/SlidingBlockPuzzles/Default.htm
Glavolomke
Glavolomke – 2/4
Quzzle
Gospodin Luis, ljubitelj rešavanja zagonetki sa klizajućim
elementima, programirao je računar da iznadje raspored pločica,
koji je najteže rešiti. Napokon je dobio najkomplikovaniju
zagonetku na tabli od 4 × 5 polja. Uslovi postavljeni kompjuteru
su da ima samo tri tipa pločica 1 × 1, 2 × 2 i 1 × 2 ili 2 × 1.
Zakonetku možete kupiti za malo manje od 20$. Gospodin Luis je
umeo da naplati svoj hobi! Premestiti kvadrat u donji desni ugao!
Zlatko Petrović
Rekurzija
Glavolomke
Glavolomke – 3/4
Zlatko Petrović
Rekurzija
Glavolomke
Glavolomke – 4/4
Zlatko Petrović
Rekurzija