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