Даны два натуральных числа m и n. Проверить, есть ли в записи числа m цифры, одинаковые с цифрами в записи числа n.
P.S. На языке паскаль.
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
var m:=ReadInteger(m=).ToString.ToSortedSet;
var n:=ReadInteger(n=).ToString.ToSortedSet;
if m.Intersect(n).Count>0 then Writeln(Есть одинаковые цифры)
else Writeln(Нет одинаковых цифр)
end.
Тестовые решения:
m= 12345
n= 76840
Есть одинаковые цифры
m= 123456
n= 789087
Нет одинаковых цифр
А вот примерно так почему-то заставляют писать эту же задачу в школах:
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
var
i,m,n:integer;
found:boolean;
sm,sn:string;
begin
Writeln(Введите через пробел два натуральных числа: );
Read(m,n);
Str(m,sm);
Str(n,sn);
found:=False;
for i:=1 to Length(sm) do
if Pos(sm[i],sn)>0 then begin
found:=True;
break
end;
if found then Writeln(Есть одинаковые цифры)
else Writeln(Нет одинаковых цифр)
end.
Тестовое решение:
Введите через пробел два натуральных числа:
5354353 111211
Нет одинаковых цифр
