Циклические алгоритмы.
Дано натуральное число N. Определить количество цифр в числовой записи данного числа,
которые имеют наименьшее значение. Пример: N=4546. Количество цифр с наименьшим значением равно двум ( две цифры 4)
Каков алгоритм работы, подскажите пожайлуста и как сравнить цифры в числе друг с другом.
Поиск чисел
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Работаем со строками.
Пробегаем по цифрам от 0 до 9 и проверяем присутствие в числе, если есть - считаем количество и выходим
Пробегаем по цифрам от 0 до 9 и проверяем присутствие в числе, если есть - считаем количество и выходим

Код: Выделить всё
function GetMinDigitsCount(Value: Integer): Integer;
var
S: String;
i, j: Integer;
begin
Result := 0;
S := IntToStr(Value);
for i := 0 to 9 do
if pos(IntToStr(i), S) > 0 then
begin
for j := 1 to Length(S) do
if S[j] = IntToStr(i) then inc(Result);
Break;
end;
end;
С уважением, Lost Angel...
-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
Код: Выделить всё
function GetMinDigitsCount(Value: Integer): Integer;
var
m, d, v: Integer;
begin
Result := 0;
m:=10;
v:=Abs(Value);
Repeat
d:=v mod 10;
If d=m then Inc(Result) else
If d<m then
begin
Result:=1;
m:=d;
end;
v:=v div 10;
Until v=0;
end;