All Digits Equal
Programming Basics · C++
TASK
Problem
In “All Digits Equal”, given the required decimal number, print YES if all three digits are equal.
EXAMPLE
Example
123
NO
LIMITS
Constraints
The number has exactly the number of decimal digits stated in the task and is non-negative.
LEARN
Theory for this problem
+
Repeated division by powers of 10 and `% 10` isolate decimal digits without converting the number to a string.
Connection to “All Digits Equal”: here, integer `/` and `%` provide the quotient and remainder, which is useful for digit extraction and cyclic arithmetic.
NEED HELP?
Hints
+
['Extract the digits first, then combine or compare them.', 'After solving “All Digits Equal”, verify the algorithm on your own small example and on an allowed boundary case. Print only the required result with no extra text.']
ANSWER
Solution
+
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
int a = n / 100, b = (n / 10) % 10, c = n % 10;
cout << (a == b && b == c ? "YES" : "NO") << '\n';
return 0;
}