Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Check if a number is jumbled or not

  • Difficulty Level : Basic
  • Last Updated : 27 Apr, 2021

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

 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

To find if a number is jumbled, we just need to check if a digit has a neighbour 
with difference greater than 1. If such digit is found, the number is non-jumbled.
Below is the implementation of above idea : 
 

C++




// CPP code to check if a
// number is jumbled or not
#include <bits/stdc++.h>
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.

Python




# 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




<?php
// PHP code to check if a
// number is jumbled or not
 
// Function to check if a
// number is jumbled or not
function 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($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




<script>
    // Javascript code to check if a number is jumbled or not
     
    // Function to check if a
    // number is jumbled or not
    function checkJumbled(num)
    {
           
        // Single digit number
        if (parseInt(num / 10, 10) == 0)
            return true;
       
        // Checking every digit
        // through a loop
        while (num != 0)
        {
       
            // All digits were checked
            if (parseInt(num / 10, 10) == 0)
                return true;
       
            // Digit at index i
            let digit1 = num % 10;
       
            // Digit at index i-1
            let digit2 = parseInt(num / 10, 10) % 10;
       
            // If difference is
            // greater than 1
            if (Math.abs(digit2 - digit1) > 1)
                return false;
       
            num = parseInt(num / 10, 10);
        }
       
        // Number checked
        return true;
    }
     
    //-1234 to be checked
    let num = -1234;
 
    if (checkJumbled(num))
      document.write("True " + "</br>");
    else
      document.write("False " + "</br>");
 
    // 287 to be checked
    num = -1247;
 
    if (checkJumbled(num))
      document.write("True " + "</br>");
 
    else
      document.write("False " + "</br>");
     
    // This code is contributed by rameshtravel07.
</script>

Output : 
 

True
False

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 contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 




My Personal Notes arrow_drop_up
Recommended Articles
Page :