Check if a large number is divisible by 6 or not (original) (raw)
Last Updated : 8 Jul, 2024
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
C++ `
#include 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
// 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
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")
C#
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
JavaScript
PHP
`
**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++ `
// 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
// 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");
}}
Python3
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#
// 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.
JavaScript
PHP
`
**Time Complexity: O(logN) where N is the given number
**Auxiliary Space: O(1) since no extra space is being used
Here is a bonus fact for the readers. The product of 3 consecutive numbers is always a multiple of 6. The reason is simple,
- Among three consecutive numbers, one of the numbers must be a multiple of 3 (Note every third number is a multiple of 3 starting from
- Due to the same reason as above, at least one of the three numbers must be a multiple of 2.