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
Powered by Facebook Comments