# Tidy Number (Digits in non-decreasing Order)

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.

Recommended Practice

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` `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

 ` ``\$prev``) ` `            ``return` `false; ` `        ``\$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

 ` `

Output

`Yes`

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.careercup.com/question?id=5136136486780928
This article is contributed by Sahil Chhabra . If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.