Open In App

Divisibility by 12 for a large number

Last Updated : 30 Jan, 2023
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

Given a large number, the task is to check whether the number is divisible by 12 or not.

Examples : 

Input : 12244824607284961224
Output : Yes

Input : 92387493287593874594898678979792
Output : No

Method 1: This is a very simple approach. if a number is divisible by 4 and 3 then the number is divisible by 12. 

Point 1. If the last two digits of the number are divisible by 4 then the number is divisible by 4. Please see divisibility by 4 for large numbers for details. 
Point 2. if the sum of all digits of a number is divided by 3 then the number is divisible by 3. Please see divisibility by 3 for large numbers for details. 

C++
// C++ Program to check if
// number is divisible by 12
#include <iostream>
using namespace std;

bool isDvisibleBy12(string num)
{
    // if number greater than 3
    if (num.length() >= 3) { 

        // find last digit
        int d1 = (int)num[num.length() - 1];

        // no is odd
        if (d1 % 2 != 0)
            return (0);

        // find second last digit
        int d2 = (int)num[num.length() - 2];

        // find sum of all digits
        int sum = 0;
        for (int i = 0; i < num.length(); i++)
            sum += num[i];            
        
        return (sum % 3 == 0 && (d2 * 10 + d1) % 4 == 0);            
    }
    
    else {
        
        // if number is less than
        // or equal to 100
        int number = stoi(num);
        return (number % 12 == 0);
    }
}

// Driver function
int main()
{
    string num = "12244824607284961224";  
    if (isDvisibleBy12(num))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    return 0;
}
Java
// Java Program to check if
// number is divisible by 12

import java.io.*;

class GFG {
static boolean isDvisibleBy12(String num)
{
    // if number greater than 3
    if (num.length() >= 3) { 
 
        // find last digit
        int d1 = (int)num.charAt(num.length() - 1);
 
        // no is odd
        if (d1 % 2 != 0)
            return false;
 
        // find second last digit
        int d2 = (int)num.charAt(num.length() - 2);
 
        // find sum of all digits
        int sum = 0;
        for (int i = 0; i < num.length(); i++)
            sum += num.charAt(i);            
         
        return (sum % 3 == 0 &&
               (d2 * 10 + d1) % 4 == 0);            
    }
     
    else {
         
        // if number is less than
        // or equal to 100
        int number = Integer.parseInt(num);
        return (number % 12 == 0);
    }

// driver function
}
    public static void main (String[] args) {

    String num = "12244824607284961224";  
    if (isDvisibleBy12(num))
        System.out.print("Yes");
    else
        System.out.print("No");
        
    }
}

// This code is contributed by Gitanjali.
Python3
# Python Program to check if
# number is divisible by 12 

import math 

def isDvisibleBy12( num):

    # if number greater than 3
    if (len(num) >= 3):
 
        # find last digit
        d1 = int(num[len(num) - 1]);
 
        # no is odd
        if (d1 % 2 != 0):
            return False
 
        # find second last digit
        d2 = int(num[len(num) - 2])
 
        # find sum of all digits
        sum = 0
        for  i in range(0, len(num) ):
            sum += int(num[i])           
         
        return (sum % 3 == 0 and
               (d2 * 10 + d1) % 4 == 0)            

     
    else :
         
        # f number is less than
        # r equal to 100
        number = int(num)
        return (number % 12 == 0)
    

num = "12244824607284961224"  
if(isDvisibleBy12(num)):
       print("Yes")
else:
       print("No")

# This code is contributed by Gitanjali.
C#
// C# Program to check if
// number is divisible by 12
using System;

class GFG 
{
static bool isDvisibleBy12(string num)
{
    // if number greater than 3
    if (num.Length >= 3) { 

        // find last digit
        int d1 = (int)num[num.Length - 1];

        // no is odd
        if (d1 % 2 != 0)
            return false;

        // find second last digit
        int d2 = (int)num[num.Length - 2];

        // find sum of all digits
        int sum = 0;
        for (int i = 0; i < num.Length; i++)
            sum += num[i];         
        
        return (sum % 3 == 0 &&
            (d2 * 10 + d1) % 4 == 0);         
    }
    
    else {
        
        // if number is less than
        // or equal to 100
        int number = int.Parse(num);
        return (number % 12 == 0);
    }
}

    // Driver function
    public static void Main () 
    {
       String num = "12244824607284961224"; 
       if (isDvisibleBy12(num))
          Console.Write("Yes");
       else
          Console.Write("No");
    }
}

// This code is contributed by nitin mittal.
PHP
<?php
// PHP Program to check if
// number is divisible by 12

function isDvisibleBy12($num)
{
    
    // if number greater than 3
    if (strlen($num) >= 3) 
    { 

        // find last digit
        $d1 = (int)$num[strlen($num) - 1];

        // no is odd
        if ($d1 % 2 != 0)
            return (0);

        // find second last digit
        $d2 = (int)$num[strlen($num) - 2];

        // find sum of all digits
        $sum = 0;
        for ($i = 0; $i < strlen($num); $i++)
            $sum += $num[$i];     
        
        return ($sum % 3 == 0 && 
               ($d2 * 10 + $d1) % 4 == 0);         
    }
    
    else {
        
        // if number is less than
        // or equal to 100
        $number = stoi($num);
        return ($number % 12 == 0);
    }
}

// Driver Code
$num = "12244824607284961224"; 
if (isDvisibleBy12($num))
    echo("Yes");
else
    echo("No");

// This code is contributed by Ajit.
?>
JavaScript
<script>

// Javascript program to check if
// number is divisible by 12
function isDvisibleBy12(num)
{
    
    // If number greater than 3
    if (num.length >= 3) 
    { 
        
        // Find last digit
        let d1 = num[num.length - 1].charCodeAt();

        // No is odd
        if (d1 % 2 != 0)
            return false;

        // Find second last digit
        let d2 = num[num.length - 2].charCodeAt();

        // Find sum of all digits
        let sum = 0;
        for(let i = 0; i < num.length; i++)
            sum += num[i].charCodeAt();         

        return ((sum % 3 == 0) && 
                 (d2 * 10 + d1) % 4 == 0);         
    }

    else
    {
        
        // If number is less than
        // or equal to 100
        let number = parseInt(num, 10);
        document.write(number);
        return(number % 12 == 0);
    }
}

// Driver code
let num = "12244824607284961224"; 
if (isDvisibleBy12(num))
    document.write("Yes");
else
    document.write("No");
    
// This code is contributed by divyeshrabadiya07

</script>

Output
Yes

Time Complexity: O(N), where N is the length of the given string.
Auxiliary Space: O(1)

Method: Checking given number is divisible by 12 or not by using the modulo division operator "%".  

C++
// C++ code for the above approach
// To check whether the given number is divisible by 12 or not
#include <iostream>
using namespace std;

int main() {

  // input
  long long int n = 12244824607;

    // finding given number is divisible by 12 or not
    if (n % 12 == 0){
      cout<<"Yes"; 
    }
  else{
    cout<<"No"; 
  }
  return 0;
}

// This code is contributed by laxmigangarajula03
Java
// Java code for the above approach
// To check whether the given number is divisible by 12 or
// not
import java.math.BigInteger;

class GFG {

  public static void main(String[] args)
  {
    // input number
    BigInteger num = new BigInteger("12244824607284961224");

    // finding given number is divisible by 12 or not
    if (num.mod(new BigInteger("12"))
        .equals(new BigInteger("0"))) {
      System.out.println("Yes");
    }
    else {
      System.out.println("No");
    }
  }
}

// This code is contributed by phasing17
Python3
# Python code 
# To check whether the given number is divisible by 12 or not

#input 
n=12244824607284961224
# the above input can also be given as n=input() -> taking input from user
# finding given number is divisible by 12 or not
if int(n)%12==0:
  print("Yes") 
else: 
  print("No") 
  
  # this code is contributed by gangarajula laxmi
C#
using System;

public class GFG {

    static public void Main()
    {

        // input number
        double num = 12244824607284961224;

        // finding given number is divisible by 12 or not
        if (num % 12 == 0) {
            Console.Write("Yes");
        }
        else {
            Console.Write("No");
        }
    } 
}

// This code is contributed by laxmigangarajula03
JavaScript
<script>
        // JavaScript code for the above approach
        // To check whether the given number is divisible by 12 or not
 
        // input
        var n = 12244824607284961224
        
        // finding given number is divisible by 12 or not
        if (n % 12 == 0)
            document.write("Yes")
        else
            document.write("No")
 
// This code is contributed by laxmigangarajula03
    </script>
PHP
<?php
// PHP program to check 
// if a large number is 
// divisible by 12.

  // Driver Code
  // input number
$num = 12244824607;

// finding given number is divisible by 12 or not
if ( $num % 12 == 0)
    echo "Yes";
else
    echo "No";

// This code is contributed by satwik4409.
?>

Output
No

Time Complexity: O(1)
Auxiliary Space: O(1)


Next Article
Practice Tags :

Similar Reads