szuchi.hu

Szuchi Dániel Blogja

14. Rekurzió II

Szöveg megfordítás:

Például: szuchidániel:) -> ):leinádihcuzs

Pszeudokód(X: változó a fordítandó szöveggel, N: szöveg hossza):

Függvény Fordítás(X, N)

Ha N>1 akkor

return(Fordítás(X[2..N],N-1)+X[1])

Elágazás vége

Függvény vége

Palindrom számok:

Egy N számjegyű szám akkor palindrom szám, ha az i-edik számjegye megegyezik az (N+1-i)-edik számjegyével. Például: 9876543456789

Egy szám számjegyeit tároljuk egy N elemű X tömbben. Az egy jegyű szám palindrom. Ha a két szélső számjegy azonos, akkor vizsgáljuk a szélsők nélküli számot.

Pszeudokód:

Függvény Palindrom_e(X, N)

Ha N<=1 akkor

return(Igaz)

különben

Ha X[1] = X[N] akkor

return(Palindrom_e(X[2..N], N-2))

különben

return(Hamis)

Elágazás vége

Elágazás vége

Függvény vége

Hatványozás:

Pszeudokód(a: hatványra emelendő szám, n: hatvány kitevő):

Függvény Hatvány(a,n)

Ha n=0 akkor

return(1)

különben

Ha n páros akkor

return(Hatvány(a, n/2)*Hatvány(a,n/2))

különben

return(Hatvány(a, (n-1)/2)*Hatvány(a,(n-1)/2)*a)

Elágazás vége

Elágazás vége

Függvény vége

Hanoi tornyai:

Pszeudokód:

Eljárás Hanoi(N, Forras, Cel, Seged)

Ha N>0 akkor

Hanoi(N-1, Forras, Seged, Cel)

Ki: N, Forras, Cel

Hanoi(N-1, Seged, Cel, Forras)

Elágazás vége

Eljárás vége

 

Felhasznált Irodalom: Sergyán Szabolcs – Programozás I – 10. előadás diasor

Kommentek

comments

Powered by Facebook Comments