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 : Yes

Input : 1243
Output : No
Explanation: Digits "4" and "3" violate the property.

Try It Yourselfredirect icon

Asked in Freshokartz

Algorithm:

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 True

Driver 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

rem=rem = rem=num % 10; num=(int)num = (int)num=(int)num / 10; if ($rem > $prev) return false; prev=prev = prev=rem; } return true; } // Driver code $num = 1556; if(isTidy($num) == true) echo "Yes"; else echo "No"; // This code is contributed by aj_36 ?>

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