All pastes #470925 Raw Edit

Someone

public text v1 · immutable
·published 2007-05-04 16:33 UTC
rendered paste body
load "Listsort";
load "String";
fun atfed (n, mit: string, mivel: string) =
	if size mit < n then false else
	if size mivel < n then false else
	if (String.isPrefix (substring(mit,size mit-n, n)) mivel) then true
	else false;

fun ellenoriz (_,_,[]) = []
| ellenoriz (n, elem, lista::listatail) =
	if atfed(n, elem, lista) then (n,lista)::ellenoriz(n, elem, listatail) 
	else ellenoriz(n,elem,listatail);

fun levalogat (_,[],_) = []
| levalogat (n,lista::listatail,[]) = ellenoriz(n,lista,listatail)@levalogat(n,listatail,[lista])
| levalogat (n,lista::listatail,marad) = (ellenoriz(n,lista,marad))@(ellenoriz(n,lista,listatail))@(levalogat(n,listatail,[lista]@marad));

fun atfedok n lista = levalogat(n, Listsort.sort String.compare lista,[]);