Вот так я попытался сделать, но естественно не получилось.
type M=set of 0..99;
L=set of byte;
function card(s:L):integer;
const k:m= [];
var i,j:integer;
begin
if s=k then card:=j;
else begin
for i:=0 to 99 do
if i in s then
begin
exlude(s,i);
j:=j+1;
card:=card(s);
end;
end;
**************
может кто поможет?