coins={1,5,10,25};
makechange[amount_,coins_]:=Module[{remainder,numcoins,mycoin,coinsleft,mycoinindex},
numcoins=Table[0,{i,1,Length[coins]}];
remainder=amount;
coinsleft=coins;
While[remainder>0,
mycoin=Max[coinsleft];
mycoinindex=Position[coins,mycoin][[1,1]];
If[remainder≥mycoin,
remainder-=mycoin;
numcoins[[mycoinindex]]+=1;
,
coinsleft=DeleteCases[coinsleft,mycoin];
];
];
numcoins
];
totalcoins[amount_,coins_]:=Total[makechange[amount,coins]];

maxmeancoins[coins_]:=Module[{allcoinstable},
allcoinstable=Table[totalcoins[i,coins],{i,1,99}];
{Max[allcoinstable],
Mean[allcoinstable]*1.0}
]

maxmeancoins[coins]

maxmeancoins[{1,5,10,25}]

maxmeancoins[{1,3,9,27}]

returnlist[max_]:=Module[{j,list},
list={};
j=0;
Do[
Do[
Do[
list=Append[list,{{1,b,c,d},maxmeancoins[{1,b,c,d}]}],
{b,2,c-1}],
{c,3,d-1}],
{d,4,max}
];
list
]

list=returnlist[99];

Minimum maximum number of coins

{list[[Position[list[[;;,2,1]],Min[list[[;;,2,1]]]][[1,1]],1]]//MatrixForm,
list[[Position[list[[;;,2,1]],Min[list[[;;,2,1]]]][[1,1]],2]]//MatrixForm}

Minimum mean number of coins

{list[[Position[list[[;;,2,2]],Min[list[[;;,2,2]]]][[1,1]],1]]//MatrixForm,
list[[Position[list[[;;,2,2]],Min[list[[;;,2,2]]]][[1,1]],2]]//MatrixForm}

listel=1;
{list[[Position[list[[;;,2,2]],Min[list[[;;,2,2]]]][[listel,1]],1]]//MatrixForm,
list[[Position[list[[;;,2,2]],Min[list[[;;,2,2]]]][[listel,1]],2]]//MatrixForm}