Given a number, the task is to check if a number is divisible by 6 or not. The input number may be large and it may not be possible to store even if we use long long int.
Examples:
Input : n = 2112 Output: Yes Input : n = 1124 Output : No Input : n = 363588395960667043875487 Output : No
#include <iostream> using namespace std;
int main() {
long n = 36358839596;
// finding given number is divisible by 6 or not
if (n % 6 == 0)
cout << "Yes" ;
else
cout << "No" ;
return 0;
} // This code is contributed by lokesh |
// Java code for the above approach // To check whether the given number is divisible by 6 or not import java.io.*;
class GFG {
public static void main (String[] args) {
long n = 36358839596L;
// finding given number is divisible by 6 or not
if (n % 6 == 0 )
System.out.print( "Yes" );
else
System.out.print( "No" );
}
} // This code is contributed by lokesh |
# Python code # To check whether the given number is divisible by 6 or not #input n = 363588395960667043875487 # the above input can also be given as n=input() -> taking input from user # finding given number is divisible by 6 or not if int (n) % 6 = = 0 :
print ( "Yes" )
else :
print ( "No" )
|
using System;
public class GFG {
static public void Main()
{
// C# code for the above approach
// To check whether the given number is divisible by 6 or not
//input
long n = 36358839596;
// finding given number is divisible by 6 or not
if (n % 6 == 0)
Console.Write( "Yes" );
else
Console.Write( "No" );
}
} // This code is contributed by ksrikanth0498 |
<script> // JavaScript code for the above approach
// To check whether the given number is divisible by 6 or not
//input
var n = 363588395960667043875487
// finding given number is divisible by 6 or not
if (n % 6 == 0)
document.write( "Yes" )
else
document.write( "No" )
// This code is contributed by Potta Lokesh
</script>
|
<?php // PHP program to check // if a large number is // divisible by 6. // Driver Code
// input number
$num = 363588395960667043875487;
// finding given number is divisible by 6 or not if ( $num %6 == 0)
echo "Yes" ;
else echo "No" ;
// This code is contributed by satwik4409. ?> |
No
Time complexity: O(1) as it is performing constant operations
Auxiliary Space: O(1) as it is using constant space for variables
Since input number may be very large, we cannot use n % 6 to check if a number is divisible by 6 or not, especially in languages like C/C++. The idea is based on following fact.
A number is divisible by 6 it's divisible by 2 and 3. a) A number is divisible by 2 if its last digit is divisible by 2. b) A number is divisible by 3 if sum of digits is divisible by 3.
Below is the implementation based on above steps.
// C++ program to find if a number is divisible by // 6 or not #include<bits/stdc++.h> using namespace std;
// Function to find that number divisible by 6 or not bool check(string str)
{ int n = str.length();
// Return false if number is not divisible by 2.
if ((str[n-1]- '0' )%2 != 0)
return false ;
// If we reach here, number is divisible by 2.
// Now check for 3.
// Compute sum of digits
int digitSum = 0;
for ( int i=0; i<n; i++)
digitSum += (str[i]- '0' );
// Check if sum of digits is divisible by 3
return (digitSum % 3 == 0);
} // Driver code int main()
{ string str = "1332" ;
check(str)? cout << "Yes" : cout << "No " ;
return 0;
} |
// Java program to find if a number is // divisible by 6 or not import java.io.*;
class IsDivisible
{ // Function to find that number divisible by 6 or not
static boolean check(String str)
{
int n = str.length();
// Return false if number is not divisible by 2.
if ((str.charAt(n- 1 ) - '0' )% 2 != 0 )
return false ;
// If we reach here, number is divisible by 2.
// Now check for 3.
// Compute sum of digits
int digitSum = 0 ;
for ( int i= 0 ; i<n; i++)
digitSum += (str.charAt(i)- '0' );
// Check if sum of digits is divisible by 3
return (digitSum % 3 == 0 );
}
// main function
public static void main (String[] args)
{
String str = "1332" ;
if (check(str))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
} |
# Python 3 program to find # if a number is divisible # by 6 or not # Function to find that number # is divisible by 6 or not def check(st) :
n = len (st)
# Return false if number
# is not divisible by 2.
if ((( int )(st[n - 1 ]) % 2 ) ! = 0 ) :
return False
# If we reach here, number
# is divisible by 2. Now
# check for 3.
# Compute sum of digits
digitSum = 0
for i in range ( 0 , n) :
digitSum = digitSum + ( int )(st[i])
# Check if sum of digits
# is divisible by 3
return (digitSum % 3 = = 0 )
# Driver code st = "1332"
if (check(st)) :
print ( "Yes" )
else :
print ( "No " )
# |
// C# program to find if a number is // divisible by 6 or not using System;
class GFG {
// Function to find that number
// divisible by 6 or not
static bool check(String str)
{
int n = str.Length;
// Return false if number is
// not divisible by 2.
if ((str[n-1] - '0' ) % 2 != 0)
return false ;
// If we reach here, number is
// divisible by 2.
// Now check for 3.
// Compute sum of digits
int digitSum = 0;
for ( int i = 0; i < n; i++)
digitSum += (str[i] - '0' );
// Check if sum of digits is
// divisible by 3
return (digitSum % 3 == 0);
}
// main function
public static void Main ()
{
String str = "1332" ;
if (check(str))
Console.Write( "Yes" );
else
Console.Write( "No" );
}
} // This code is contributed by parashar. |
<?php // PHP program to find if a // number is divisible by // 6 or not // Function to find that number // divisible by 6 or not function check( $str )
{ $n = strlen ( $str );
// Return false if number is
// not divisible by 2.
if (( $str [ $n - 1] - '0' ) % 2 != 0)
return false;
// If we reach here, number
// is divisible by 2.
// Now check for 3.
// Compute sum of digits
$digitSum = 0;
for ( $i = 0; $i < $n ; $i ++)
$digitSum += ( $str [ $i ] - '0' );
// Check if sum of digits
// is divisible by 3
return ( $digitSum % 3 == 0);
} // Driver code
$str = "1332" ;
if (check( $str ))
echo "Yes" ;
else
echo " No " ;
return 0;
// This code is contributed by nitin mittal. ?> |
<script> // JavaScript program for the above approach // Function to find that number
// divisible by 6 or not
function check(str)
{
let n = str.length;
// Return false if number is
// not divisible by 2.
if ((str[n-1] - '0' ) % 2 != 0)
return false ;
// If we reach here, number is
// divisible by 2.
// Now check for 3.
// Compute sum of digits
let digitSum = 0;
for (let i = 0; i < n; i++)
digitSum += (str[i] - '0' );
// Check if sum of digits is
// divisible by 3
return (digitSum % 3 == 0);
}
// Driver Code let str = "1332" ;
if (check(str))
document.write( "Yes" );
else
document.write( "No" );
// This code is contributed by splevel62. </script> |
Yes
Time Complexity: O(logN) where N is the given number
Auxiliary Space: O(1) since no extra space is being used
This article is contributed by DANISH_RAZA .
Approach#3: using the fact that it is divisible by 3 and 2 consecutive even numbers
We can check if a number is divisible by 6 by checking if it is divisible by 3 and any 2 consecutive even numbers (i.e., 2 and 4 or 4 and 6, etc.). We can use the modulo operation to find the remainder of the number when divided by 3 and check if it is divisible by any 2 consecutive even numbers.
Algorithm
1. Check if the remainder of the number when divided by 3 is 0.
2. Check if the last digit of the number is even.
3. If the last digit of the number is even, check if the second-last digit of the number is odd.
4. If the second-last digit of the number is odd, print “Yes”, otherwise print “No”.
// C++ program for the above approach #include <iostream> using namespace std;
// Function to check divisibility by 6 void check_divisibility_by_6( int n)
{ if (n % 3 == 0 && n % 10 % 2 == 0
&& (n / 10) % 10 % 2 != 0) {
cout << "Yes" << endl;
}
else {
cout << "No" << endl;
}
} // Driver Code int main()
{ int n1 = 2112;
check_divisibility_by_6(n1);
int n2 = 1124;
check_divisibility_by_6(n2);
return 0;
} |
public class Main {
// Function to check divisibility by 6
public static void check_divisibility_by_6( int n) {
if (n % 3 == 0 && n % 10 % 2 == 0 && (n / 10 ) % 10 % 2 != 0 ) {
System.out.println( "Yes" );
} else {
System.out.println( "No" );
}
}
// Driver Code
public static void main(String[] args) {
int n1 = 2112 ;
check_divisibility_by_6(n1);
int n2 = 1124 ;
check_divisibility_by_6(n2);
}
} |
def check_divisibility_by_6(n):
if n % 3 = = 0 and n % 10 % 2 = = 0 and (n / / 10 ) % 10 % 2 ! = 0 :
print ( "Yes" )
else :
print ( "No" )
n = 2112
check_divisibility_by_6(n) n = 1124
check_divisibility_by_6(n) |
function check_divisibility_by_6(n) {
if (n % 3 === 0 && n % 10 % 2 === 0 && Math.floor(n / 10) % 10 % 2 !== 0) {
console.log( "Yes" );
} else {
console.log( "No" );
}
} let n = 2112; check_divisibility_by_6(n); n = 1124; check_divisibility_by_6(n); |
using System;
class Program
{ // Function to check divisibility by 6
static void CheckDivisibilityBy6( int n)
{
if (n % 3 == 0 && n % 10 % 2 == 0
&& (n / 10) % 10 % 2 != 0)
{
Console.WriteLine( "Yes" );
}
else
{
Console.WriteLine( "No" );
}
}
// Driver Code
static void Main( string [] args)
{
int n1 = 2112;
CheckDivisibilityBy6(n1);
int n2 = 1124;
CheckDivisibilityBy6(n2);
Console.ReadKey();
}
} |
Yes No
Time Complexity: O(log n) where n is the value of the number.
Auxiliary Space: O(1).