Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Check if a large number is divisible by 2, 3 and 5 or not

  • Last Updated : 21 May, 2021

Given a number, the task is to check if a number is divisible by 2, 3, and 5 or not. The input number may be large and it may not be possible to store even if we use long long int, so the number is taken as a string.
Examples: 
 

Input : str = "725" 
Output : NO

Input : str = "263730746028908374890"
Output : YES

 

A number is divisible by 2 if it’s right most digit is even and also a number is divisible by 5 if it’s right most digit is zero or five.
So, from above two observations, one can conclude that for the number to be divisible by both 2 and 5 the rightmost digit of the number must be zero.
Now, a number is divisible by 3 if the sum of its digits is divisible by three.
Therefore, a number will be divisible by all of 2, 3, and 5 if: 
 

  • Its rightmost digit is zero.
  • Sum of all of its digits is divisible by 3.

Below is the implementation of the above approach: 
 

C++




// CPP program to Check if a large number is
// divisible by 2, 3 and 5 or not.
#include <bits/stdc++.h>
using namespace std;
 
// function to return sum of digits of
// a number
int SumOfDigits(string str, int n)
{
    int sum = 0;
 
    for (int i = 0; i < n; i++)
        sum += (int)(str[i] - '0');
 
    return sum;
}
 
// function to Check if a large number is
// divisible by 2, 3 and 5 or not
bool Divisible(string str, int n)
{
    if (SumOfDigits(str, n) % 3 == 0 and str[n - 1] == '0')
        return true;
 
    return false;
}
 
// Driver code
int main()
{
    string str = "263730746028908374890";
 
    int n = str.size();
 
    if (Divisible(str, n))
        cout << "YES";
    else
        cout << "NO";
 
    return 0;
}

Java




// Java program to Check if a large
// number is divisible by 2, 3 and
// 5 or not.
class GFG
{
// function to return sum of
// digits of a number
static int SumOfDigits(String str,
                       int n)
{
    int sum = 0;
 
    for (int i = 0; i < n; i++)
        sum += (int)(str.charAt(i) - '0');
 
    return sum;
}
 
// function to Check if a large number
// is divisible by 2, 3 and 5 or not
static boolean Divisible(String str,
                         int n)
{
    if (SumOfDigits(str, n) % 3 == 0 &&
        str.charAt(n - 1) == '0')
        return true;
 
    return false;
}
 
// Driver code
public static void main(String []args)
{
    String str = "263730746028908374890";
 
    int n = str.length();
 
    if (Divisible(str, n))
        System.out.println("YES");
    else
        System.out.println("NO");
}
}
 
// This code is contributed by ihritik

Python 3




# Python 3 program to Check if
# a large number is
# divisible by 2, 3 and 5 or not.
 
# function to return sum of digits of
# a number
def SumOfDigits(str, n):
     
    sum = 0
    for i in range(0,n):
        sum += int(ord(str[i] )- ord('0'))
 
    return sum
 
# function to Check if a large number is
# divisible by 2, 3 and 5 or not
def Divisible(str, n):
    if ((SumOfDigits(str, n) % 3 == 0 and
        str[n - 1] == '0')):
        return True
 
    return False
 
# Driver code
if __name__ == "__main__":
    str = "263730746028908374890"
 
    n = len(str)
 
    if (Divisible(str, n)):
        print("YES")
    else:
        print("NO")
         
# this code is contributed by
# ChitraNayal

C#




// C# program to Check if a large number
// is divisible by 2, 3 and 5 or not.
using System;
 
class GFG
{
// function to return sum of digits
// of a number
static int SumOfDigits(String str,
                       int n)
{
    int sum = 0;
 
    for (int i = 0; i < n; i++)
        sum += (int)(str[i] - '0');
 
    return sum;
}
 
// function to Check if a large number
// is divisible by 2, 3 and 5 or not
static bool Divisible(String str, int n)
{
    if (SumOfDigits(str, n) % 3 == 0 &&
                    str[n - 1] == '0')
        return true;
 
    return false;
}
 
// Driver code
public static void Main()
{
    String str = "263730746028908374890";
 
    int n = str.Length;
 
    if (Divisible(str, n))
        Console.WriteLine("YES");
    else
        Console.WriteLine("NO");
}
}
 
// This code is contributed by ihritik

PHP




<?php
// PHP program to Check if a large number
// is divisible by 2, 3 and 5 or not.
 
// function to return sum of digits
// of a number
function SumOfDigits($str, $n)
{
    $sum = 0;
 
    for ($i = 0; $i < $n; $i++)
        $sum += (int)($str[$i] - '0');
 
    return $sum;
}
 
// function to Check if a large number
// is divisible by 2, 3 and 5 or not
function Divisible($str, $n)
{
    if (SumOfDigits($str, $n) % 3 == 0 and
                    $str[$n - 1] == '0')
        return true;
 
    return false;
}
 
// Driver code
$str = "263730746028908374890";
 
$n = strlen($str);
 
if (Divisible($str, $n))
    echo "YES";
else
    echo "NO";
 
// This code is contributed
// by Shivi_Aggarwal
?>

Javascript




<script>
 
// JavaScript program to Check if a large
// number is divisible by 2, 3 and
// 5 or not.
 
// Function to return sum of
// digits of a number
function SumOfDigits(str, n)
{
    var sum = 0;
 
    for(var i = 0; i < n; i++)
        sum += (str.charAt(i) - '0');
 
    return sum;
}
 
// Function to Check if a large number
// is divisible by 2, 3 and 5 or not
function Divisible(str, n)
{
    if (SumOfDigits(str, n) % 3 == 0 &&
        str.charAt(n - 1) == '0')
        return true;
 
    return false;
}
 
// Driver code
var str = "263730746028908374890";
var n = str.length;
 
if (Divisible(str, n))
    document.write("YES");
else
    document.write("NO");
 
// This code is contributed by Ankita saini
 
</script>
Output: 
YES

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!