Tidy Number (Digits in nondecreasing Order) (original) (raw)
Tidy Number (Digits in non-decreasing Order)
Last Updated : 23 Jul, 2025
Given a number, the task is to check if it is tidy or not. A tidy number is a number whose digits are in non-decreasing order.
Examples :
Input : 1234
Output : YesInput : 1243
Output : No
Explanation: Digits "4" and "3" violate the property.
Asked in Freshokartz
Algorithm:
- 1- One by one find all the digits.
- 2- Compare every digit with its next digit.
- 3- If any is in decreasing order then return false.
- 4- Otherwise return true.
Implementation :
C++ `
// C++ program to check if a number is Tidy // or not. #include using namespace std;
// Returns true if num is Tidy bool isTidy(int num) { // To store previous digit (Assigning // initial value which is more than any // digit) int prev = 10;
// Traverse all digits from right to
// left and check if any digit is
// smaller than previous.
while (num)
{
int rem = num % 10;
num /= 10;
if (rem > prev)
return false;
prev = rem;
}
return true;}
// Driver code int main() { int num = 1556; isTidy(num) ? cout << "Yes" : cout << "No"; return 0; }
Java
// Java program to check if a number // is Tidy or not.
class Test { // Returns true if num is Tidy static boolean isTidy(int num) { // To store previous digit // (Assigning initial value // which is more than any // digit) int prev = 10;
// Traverse all digits from right to
// left and check if any digit is
// smaller than previous.
while (num!=0)
{
int rem = num % 10;
num /= 10;
if (rem > prev)
return false;
prev = rem;
}
return true;
}
// Driver method
public static void main(String[] args)
{
int num = 1556;
System.out.println(isTidy(num) ? "Yes" : "No");
}}
Python3
Python program to check if a number
is Tidy or not.
Returns true if num is Tidy
def isTidy(num):
# To store previous digit (Assigning
# initial value which is more than any
# digit)
prev = 10
# Traverse all digits from right to
# left and check if any digit is
# smaller than previous.
while (num):
rem = num % 10
num /= 10
if rem > prev:
return False
prev = rem
return TrueDriver code
num = 1556 if isTidy(num): print("Yes") else: print("No")
This code is contributed by Sharad_Bhardwaj.
C#
// C# program to check if a // number is Tidy or not. using System;
class GFG { // Returns true if num is Tidy static bool isTidy(int num) { // To store previous digit // (Assigning initial value // which is more than any // digit) int prev = 10;
// Traverse all digits from
// right to left and check
// if any digit is smaller
// than previous.
while (num != 0)
{
int rem = num % 10;
num /= 10;
if (rem > prev)
return false;
prev = rem;
}
return true;
}// Driver Code public static void Main () { int num = 1556;
Console.WriteLine(isTidy(num) ?
"Yes" :
"No");} }
// This code is contributed by m_kit
PHP
JavaScript
`
Time Complexity: O(d) where d is the number of digits in the given number.
Auxiliary Space: O(1) since using constant extra space.
Reference :
https://www.gayle.com/consulting