% 1.3. házi feladat
% Írjon egy az alábbi specifikációnak megfelelő Prolog eljárást.
% Törekedjék hatékony megvalósításra.

% :- mode leghosszabb_farka(+, +, ?).
% leghosszabb_farka(L, X, F): Az L listának F a leghosszabb X-szel kezdődő
% szuffixuma, azaz:
%    a. L = _ @ F,
%    b. F = [X|_], és
%    c. F a leghosszabb olyan lista, amely az a. és b. feltételeknek megfelel. 
% Itt L1 @ L2 az L1 és L2 listák egymás után fűzését jelöli.

% | ?- leghosszabb_farka([1,2,4,2,3,4], 2, F).
% F = [2,4,2,3,4] ? ;
% no


% --------------------------------------------------------------------------
% 1.4. házi feladat
% Tekintse az 1.1. házi feladat alábbi megoldását.

% :- mode replace_nth(+, ?, ?, ?, ?)

replace_nth(1, [E0|L0], E0, [E|L0], E) :- !.
replace_nth(N, [H|L0], E0, [H|L], E) :-
	N1 is N-1,
	replace_nth(N1, L0, E0, L, E).

% Írjon le egy a replace_nth/5 eljárást meghívó célt, amely megfelel a
% fenti móddeklarációnak, N > 0, és a cél futtatása nem ad helyes eredményt.

% Javítsa ki a fenti eljárást, úgy, hogy az a vágás alapszabályát tartsa be.
