Надо написать программу на паскале, без массивов. дано натуральное число. определить, сколько раз у этого числа встречается минимальная цифра. (например, при вводе числа 2618319, на экране должно быть "2").
Var s:string; c:char; i,k:integer; begin Write('Введите число: '); Readln(s); c:=s[1]; k:=1; for i:=2 to length(s) do if s[i]=c then Inc(k) else if s[i]<c then begin c:=s[i]; k:=1 end; Writeln('Наименьшая цифра ',c,' встретилась ',k,' раз(а)') end.
Var a, k, count: integer; begin readln(a); k:=a mod 10; a:=a div 10; count:=1; while(a<>0) do begin if(a mod 10 = k) then count+=1; if(a mod 10 < k) then begin k:=a mod 10; count:=1; end; a:=a div 10; end; writeln(count); end.
s:string;
c:char;
i,k:integer;
begin
Write('Введите число: '); Readln(s);
c:=s[1]; k:=1;
for i:=2 to length(s) do
if s[i]=c then Inc(k)
else if s[i]<c then begin c:=s[i]; k:=1 end;
Writeln('Наименьшая цифра ',c,' встретилась ',k,' раз(а)')
end.
Тестовое решение:
Введите число: 3141592653589793
Наименьшая цифра 1 встретилась 2 раз(а)
begin
readln(a);
k:=a mod 10;
a:=a div 10;
count:=1;
while(a<>0) do begin
if(a mod 10 = k) then count+=1;
if(a mod 10 < k) then begin
k:=a mod 10;
count:=1;
end;
a:=a div 10;
end;
writeln(count);
end.