Даны два натуральных числа 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
Нет одинаковых цифр


Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку