# Divisibility by 12 for a large number

Last Updated : 30 Jan, 2023

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)

Previous
Next
Share your thoughts in the comments