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 : 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> |
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
Contact Us