Open In App
Related Articles
• Write an Interview Experience
• Mathematical Algorithms

# Check if a number is jumbled or not

Write a program to check if a given integer is jumbled or not. A number is said to be Jumbled if for every digit, its neighbours digit differs by max 1.

Examples :

Input : 6765
Output : True
All neighbour digits differ by atmost 1.

Input : 1223
Output : True

Input : 1235
Output : False

Approach:

• Find the adjacent digits in the number while num > 0
• if the absolute difference of the digits is greater than 1.
• Return false
• Return True

Below is the implementation of the above idea :

## C++

 `// CPP code to check if a``// number is jumbled or not``#include ``using` `namespace` `std;` `// Function to check if a``// number is jumbled or not``bool` `checkJumbled(``int` `num)``{``    ``// Single digit number``    ``if` `(num / 10 == 0)``        ``return` `true``;` `    ``// Checking every digit``    ``// through a loop``    ``while` `(num != 0)``    ``{` `        ``// All digits were checked``        ``if` `(num / 10 == 0)``            ``return` `true``;` `        ``// Digit at index i``        ``int` `digit1 = num % 10;` `        ``// Digit at index i-1``        ``int` `digit2 = (num / 10) % 10;` `        ``// If difference is``        ``// greater than 1``        ``if` `(``abs``(digit2 - digit1) > 1)``            ``return` `false``;` `        ``num = num / 10;``    ``}` `    ``// Number checked``    ``return` `true``;``}` `// Driver code``int` `main()``{` `    ``//-1234 to be checked``    ``int` `num = -1234;` `    ``if` `(checkJumbled(num))``        ``cout << ``"True \n"``;``    ``else``        ``cout << ``"False \n"``;` `    ``// 287 to be checked``    ``num = -1247;` `    ``if` `(checkJumbled(num))``        ``cout << ``"True \n"``;``    ``else``        ``cout << ``"False \n"``;` `    ``return` `0;``}`

## Java

 `// Java code to check if a``// number is jumbled or not``import` `java.io.*;` `class` `GFG``{``    ` `    ``// Function to check if a``    ``// number is jumbled or not``    ``static` `boolean` `checkJumbled(``int` `num)``    ``{``        ``// Single digit number``        ``if` `(num / ``10` `== ``0``)``            ``return` `true``;``    ` `        ``// Checking every digit``        ``// through a loop``        ``while` `(num != ``0``)``        ``{``    ` `            ``// All digits were checked``            ``if` `(num / ``10` `== ``0``)``                ``return` `true``;``    ` `            ``// Digit at index i``            ``int` `digit1 = num % ``10``;``    ` `            ``// Digit at index i-1``            ``int` `digit2 = (num / ``10``) % ``10``;``    ` `            ``// If difference is``            ``// greater than 1``            ``if` `(Math.abs(digit2 - digit1) > ``1``)``                ``return` `false``;``    ` `            ``num = num / ``10``;``        ``}``    ` `        ``// Number checked``        ``return` `true``;``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main (String[]args)``    ``{``        ``//-1234 to be checked``        ``int` `num = -``1234``;``    ` `        ``if` `(checkJumbled(num))``            ``System.out.println(``"True "``);``        ``else``            ``System.out.println(``"False "``);``    ` `        ``// 287 to be checked``        ``num = -``1247``;``    ` `        ``if` `(checkJumbled(num))``            ``System.out.println(``"True "``);``                ` `        ``else``            ``System.out.println(``"False "``);``            ` `    ``}``}` `// This code is contributed by vt_m.`

## Python3

 `# Python code to check if``# a number is jumbled or not` `# Function to check if a``# number is jumbled or not``def` `checkJumbled(num):` `    ``# Single digit number``    ``if` `(num ``/``/` `10` `=``=` `0``):``        ``return` `True` `    ``# Checking every digit``    ``# through a loop``    ``while` `(num !``=` `0``):``        ` `        ``# All digits were checked``        ``if` `(num ``/``/` `10` `=``=` `0``):``            ``return` `True` `        ``# Digit at index i``        ``digit1 ``=` `num ``%` `10` `        ``# Digit at index i-1``        ``digit2 ``=` `(num ``/``/` `10``) ``%` `10` `        ``# If difference is``        ``# greater than 1``        ``if` `(``abs``(digit2 ``-` `digit1) > ``1``):``            ``return` `False` `        ``num ``=` `num ``/``/` `10``        ` `    ``# Number checked``    ``return` `True``    ` `# Driver code` `# -1234 to be checked``num ``=` `-``1234``if` `(checkJumbled(``abs``(num))):``    ``print` `(``True``)``else``:``    ``print` `(``False``)``    ` `# -1247 to be checked``num ``=` `-``1247``if` `(checkJumbled(``abs``(num))):``    ``print` `(``True``)``else``:``    ``print` `(``False``)` `# This code is contributed``# by Sachin Bisht`

## C#

 `// C# code to check if a number``// is jumbled or not``using` `System;` `class` `GFG``{``    ` `    ``// Function to check if a``    ``// number is jumbled or not``    ``static` `bool` `checkJumbled(``int` `num)``    ``{``        ` `        ``// Single digit number``        ``if` `(num / 10 == 0)``            ``return` `true``;``    ` `        ``// Checking every digit``        ``// through a loop``        ``while` `(num != 0)``        ``{``    ` `            ``// All digits were checked``            ``if` `(num / 10 == 0)``                ``return` `true``;``    ` `            ``// Digit at index i``            ``int` `digit1 = num % 10;``    ` `            ``// Digit at index i-1``            ``int` `digit2 = (num / 10) % 10;``    ` `            ``// If difference is``            ``// greater than 1``            ``if` `(Math.Abs(digit2 - digit1) > 1)``                ``return` `false``;``    ` `            ``num = num / 10;``        ``}``    ` `        ``// Number checked``        ``return` `true``;``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `Main ()``    ``{``        ``//-1234 to be checked``        ``int` `num = -1234;``    ` `        ``if` `(checkJumbled(num))``            ``Console.WriteLine(``"True "``);``        ``else``            ``Console.WriteLine(``"False "``);``    ` `        ``// 287 to be checked``        ``num = -1247;``    ` `        ``if` `(checkJumbled(num))``            ``Console.WriteLine(``"True"``);``                ` `        ``else``            ``Console.WriteLine(``"False"``);``            ` `    ``}``}` `// This code is contributed by Nitin Mittal.`

## PHP

 ` 1)``            ``return` `false;` `        ``\$num` `= ``\$num` `/ 10;``    ``}` `    ``// Number checked``    ``return` `true;``}` `// Driver code` `//-1234 to be checked``\$num` `= -1234;` `if` `(checkJumbled(``\$num``))``    ``echo` `"True \n"``;``else``    ``echo` `"False \n"``;` `// 287 to be checked``\$num` `= -1247;` `if` `(checkJumbled(``\$num``))``    ``echo` `"True \n"``;``else``    ``echo` `"False \n"``;` `// This code is contributed by ajit``?>`

## Javascript

 ``

Output

```True
False
```

Time complexity: O(log10N), where N is the given number.
Auxiliary space: O(1), as constant space is being used.

Related Article :
Stepping Numbers
This article is contributed by Rohit Thapliyal. 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.