 GeeksforGeeks App
Open App Browser
Continue

## Related Articles

• Write an Interview Experience
• Mathematical Algorithms

# Divisibility by 12 for a large number

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 ``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

 `= 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

 ``

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 ``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

 ``

## PHP

 ``

Output

`No`

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

My Personal Notes arrow_drop_up