Дано четырехзначное натуральное число. Определите,
содержит ли оно ровно три одинаковые цифры.
Вход. Одно
четырехзначное натуральное число n.
Выход. Выведите
“YES”, если число n содержит в точности три одинаковые цифры, и “NO” иначе.
Пример входа 1 |
Пример выхода 1 |
2322 |
YES |
|
|
Пример входа 2 |
Пример выхода 2 |
2234 |
NO |
условный оператор
Выделим цифры четырехзначного числа: . Оно содержит в точности три (и только три) одинаковые
цифры, если выполняется одно из следующих условий:
·
a = b = c, но при этом c
≠ d;
·
a = c = d, но при этом d
≠ b;
·
a = b = d, но при этом d
≠ c;
·
b = c = d, но при этом d
≠ a;
Если все
четыре цифры числа n одинаковые, то следует вывести “NO”, так как в
этом случае число n не содержит в
точности три одинаковые цифры.
Реализация алгоритма
Читаем
входное значение n.
scanf("%d", &n);
Выделим
цифры числа .
a = n / 1000;
b = n / 100 % 10;
c = n / 10 % 10;
d = n % 10;
Выводим ответ в зависимости
от выполнения условия.
if ((a == b && b == c && c != d) ||
(a == c && c == d && d != b)
||
(a == b && b ==
d && d != c) ||
(b == c && c ==
d && d != a))
printf("YES\n");
else
printf("NO\n");