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 : TrueInput : 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
- if the absolute difference of the digits is greater than 1.
- Return True
Below is the implementation of the 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. |
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
<?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> |
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 neveropen 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 neveropen 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.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!