Уровень B. Задача M. Две одинаковые цифры рядом Напишите программу, которая определяет,...

0 голосов
270 просмотров

Уровень B. Задача M. Две одинаковые цифры рядом

Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом (как, например, 221).

Входные данные

Входная строка содержит одно натуральное число.

Выходные данные

Программа должна вывести слово 'YES', если в числе есть две одинаковые цифры, стоящие рядом, и слово 'NO', если такой пары цифр нет.

Примеры

входные данные

5221

выходные данные

YES

входные данные

1232

выходные данные

NO

Уровень C.

Задача O. Две одинаковые цифры

Напишите программу, которая определяет, верно ли, что введённое число содержит по крайней мере две одинаковых цифры, возможно, не стоящие рядом (как, например, 212).

Входные данные

Входная строка содержит одно натуральное число.

Выходные данные

Программа должна вывести слово 'YES', если в числе есть две одинаковые цифры, и слово 'NO', если такой пары цифр нет.

Примеры

входные данные

212

выходные данные

YES

входные данные

12345

выходные данные

NO


Информатика (25 баллов) | 270 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1381 от 04.02.2017
// Внимание! Если программа не работает, обновите версию!

Задача М

begin
  var a:=ReadInteger.ToString.AdjacentGroup;
  var f:=False;
  foreach var g in a do
    if g.Count>1 then begin
      Write('YES'); f:=true; break
    end;
  if not f then Write('NO')  
end.

Примеры
5221
YES

1232
NO

Задача О

begin
  var s:=ReadInteger.ToString;
  if s.Length<>(s.Distinct).Count then Write('YES')
  else Write('NO') 
end.

Примеры
212
YES

12345
NO
(150k баллов)
0

надо с циклами и по-проще

0

она такое не примет