А я бы делал по другому. Всего цифр может быть 10 (0..9). Соответсвенно, можно просто в массиве посчитать количество цифр. Типа бин-сорт.
Понимаю, что фигово объяснил, код, наверное будет понятнее:
Код:
function Proverka(n : Integer) : Boolean;
var
A : Array [0..9] Of Integer;
I : Integer;
begin
For I := 0 To 9 Do A[i] := 0; // инициализируем массив
// Теперь считаем цифры
While n > 0 Do
Begin
A[n mod 10] := A[n mod 10] + 1;
n := n div 10;
End;
for I := 0 To 9 Do
begin
Result := A[i] => 3; // поставить строгое равенство, если нужно только три повторения
If Result Then Break; // если есть цифра 3 раза (или больше), то выходим
end;
end;