Digits Strictly Increasing
Programming Basics · C++
TASK
Problem
In “Digits Strictly Increasing”, given the required decimal number, print YES if its digits strictly increase left to right.
EXAMPLE
Example
123
YES
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 “Digits Strictly Increasing”: 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 “Digits Strictly Increasing”, 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;
}