Var k:integer; se:set of char; s:string; num:set of '0'..'9'; begin readln(s); num:=['0'..'9']; while s<>'' do begin if (not(s[length(s)] in se)) and (s[length(s)] in num) then begin inc(k); se:=se+[s[length(s)]]; end; delete(s,length(s),1); end; writeln(k); end.
Пример ввода: 234Мне нужно делать историю, что я тут забыл?121 Пример вывода: 4
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var s:=RegEx.Match(ReadlnString('Число:'),'\d*'); Println('Принято число',s); Println('Разных цифр',s.ToString.Distinct.Count) end.
Тестовое решение: Число: 32647034554934932reert54654643#$% Принято число 32647034554934932 Разных цифр 8
Var
k:integer;
se:set of char;
s:string;
num:set of '0'..'9';
begin
readln(s);
num:=['0'..'9'];
while s<>'' do
begin
if (not(s[length(s)] in se)) and (s[length(s)] in num) then
begin
inc(k);
se:=se+[s[length(s)]];
end;
delete(s,length(s),1);
end;
writeln(k);
end.
Пример ввода:
234Мне нужно делать историю, что я тут забыл?121
Пример вывода:
4
begin
var s:=RegEx.Match(ReadlnString('Число:'),'\d*');
Println('Принято число',s);
Println('Разных цифр',s.ToString.Distinct.Count)
end.
Тестовое решение:
Число: 32647034554934932reert54654643#$%
Принято число 32647034554934932
Разных цифр 8