-module(nzhf1ms). -author('hallgato@edu.bme.hu'). -date('2020-11-19'). -version('$LastChangedDate: 2020-11-21 09:53:39 +0100 (Sat, 21 Nov 2020) $$'). -compile(export_all). -import(lists,[append/2, filter/2, foldl/3, foldr/3, last/1, map/2, member/2, nth/2, reverse/1, seq/2, seq/3, sort/1, sublist/3, subtract/2, usort/1, zip/2, zip3/3]). -spec f1(Xs::[integer()]) -> Rs::[integer()]. % Rs az Xs lista 7-nél határozottan nagyobb elemeinek listája, % az Xs-beli előfordulásukhoz képest fordított sorrendben. f1(_Xs) -> []. -spec f2(Xs::[integer()]) -> R::integer(). % R az Xs listában előforduló páros számok összege. f2(_Xs) -> 0. -spec f3(Xs::[integer()]) -> Rs::[{integer(),integer()}]. % Rs olyan {A,B} párok listája, melyek az Xs listában szomszédos % elemek, A megelőzi B-t, és melyekre igaz, hogy A+B=:=5. f3(_Xs) -> []. -spec f4(Xs::[integer()]) -> Rs::[integer()]. % Rs az Xs azon elemeinek listája egyszer felsorolva, amelyek legalább % kétszer előfordulnak Xs-ben. f4(_Xs) -> []. -spec f5(Xss::[[integer()]]) -> R::integer(). % R az Xss listák listájában előforduló legnagyobb szám. % lists:flatten/1 és lists:flatten/2 nem használhatók! f5(_Xss) -> 0. test() -> { f1([3,9,5,11,7,8,9,31,2,4,8]) =:= % [8,31,9,8,11,9], [], f2([3,9,5,11,7,8,9,31,2,4,8]) =:= % 22, 0, f3([3,2,3,1,4,1,5,0,5,6,-1,6,-2,7]) =:= % [{3,2},{2,3},{1,4},{4,1},{5,0},{0,5},{6,-1},{-1,6},{-2,7}], [], f4([1,2,2,3,3,3,4,1,3,1]) =:= % [1,2,3], [], f5([[1,2],[-3,4],[5,-6]]) =:= % 5, 0, vege }.