Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALGO_IT(A,i,j)
- STQ=STJ=STRET=STK=STX=LAST=NIL
- CI=I; CJ=J;
- while(ci<=cj || stj!=NIL)do
- if(ci<=cj)then
- ret=0
- k=ci+cj
- stk=push(stk,k)
- if(k%2=0)then
- q=k/2 //PREPARO LA PRIMA CHIAMATA
- stq=push(stq,q)
- stj=push(stj,cj)
- cj=q-1
- else //ALTRIMENTI, PREPARO L'ALTRA COME PRIMA CHIAMATA
- stj=push(stj,cj)
- stret=push(stret,ret) //in dubbio
- cj=cj-1
- else
- q=top(stq); cj=top(stj); k=top(stk)
- if(k%2=0)then
- if(last!=cj)then
- x=val // PRENDO PRIMA CHIAMATA
- stx=push(stx,x) //PUSHO X
- if(A[q]%2=0)then //PREPARO LE ALTRE DUE CHIAMATE DENTRO L'IF QUINDI CHIAMATA 2 E 3
- ci=q+1
- else
- ci=q+1
- else
- if(A[q]%2=0)then //ALTRIMENTI, STO TORNANDO DA 2 O 3 E PRENDO VALORE DI RITORNO
- y=1+val
- +USCITA DALL'ALGO
- else
- y=val
- ret=top(stx)+y
- pop(stret)
- pop(stx)
- +USCITA DALL'ALGO
- else
- ret=val
- if[A[cj]%2=0)then
- ret=ret+1
- +USCITA DALL'ALGO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement