Tutorialspoint.dev

Divisibility by 12 for a large number

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

Examples :

Input : 12244824607284961224
Output : Yes

Input : 92387493287593874594898678979792
Output : No



This is very simple approach. if a number is divisible by 4 and 3 then number is divisible by 12.
Point 1. If the last two digit of the number is divisible by 4 then number is divisible by 4. Please see divisibility by 4 for large numbers for details.
Point 2. if sum of all digit of a number divide by 3 then number is divisible by 3. Please see divisibility by 3 for large numbers for details.

CPP

// C++ Program to check if
// number is divisible by 12
#include <iostream>
using namespace std;
  
bool isDvisibleBy12(string num)
{
    // if number greater then 3
    if (num.length() >= 3) { 
  
        // fiind 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 then
        // 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 then 3
    if (num.length() >= 3) { 
   
        // fiind 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 then
        // 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 then 3
    if (len(num) >= 3):
   
        # fiind 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 then
        # 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.

/div>

C#

// C# Program to check if
// number is divisible by 12
using System;
  
class GFG 
{
static bool isDvisibleBy12(string num)
{
    // if number greater then 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 then
        // 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 then 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 then
        // 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.
?>


Output:

Yes


This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter