Given a number, check whether a given number is divisible by 36 or not. The number may be very large and may not fit in any numeric(int, long int, float, etc.) data type.

Examples:

Input : 72 Output : Yes Input : 244 Output : No Input : 11322134 Output : No Input : 92567812197966231384 Output : Yes

A number is divisible by 36 if the number is divisible by 4 and 9

- A number is divisible by 4 if the number formed by its last 2 digits is divisible by 4
- A number is divisible by 9 if the sum of the digits of the number is divisible by 9

Below is the implementation based on above idea.

## C++

`// C++ implementation to check divisibility by 36` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to check whether a number` `// is divisible by 36 or not` `string divisibleBy36(string num)` `{` ` ` `int` `l = num.length();` ` ` `// null number cannot` ` ` `// be divisible by 36` ` ` `if` `(l == 0)` ` ` `return` `"No"` `;` ` ` `// single digit number other than` ` ` `// 0 is not divisible by 36` ` ` `if` `(l == 1 && num[0] != ` `'0'` `)` ` ` `return` `"No"` `;` ` ` `// number formed by the last 2 digits` ` ` `int` `two_digit_num = (num[l-2] - ` `'0'` `)*10 +` ` ` `(num[l-1] - ` `'0'` `) ;` ` ` `// if number is not divisible by 4` ` ` `if` `(two_digit_num%4 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4 calculate` ` ` `// sum of digits` ` ` `int` `sum = 0;` ` ` `for` `(` `int` `i=0; i<l; i++)` ` ` `sum += (num[i] - ` `'0'` `);` ` ` `// sum of digits is not divisible by 9` ` ` `if` `(sum%9 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4 and 9` ` ` `// hence, number is divisible by 36` ` ` `return` `"Yes"` `;` `}` `// Driver program` `int` `main()` `{` ` ` `string num = ` `"92567812197966231384"` `;` ` ` `cout << divisibleBy36(num);` ` ` `return` `0;` `}` |

## Java

`// Java program to find if a number is` `// divisible by 36 or not` `class` `IsDivisible` `{` ` ` `// Function to check whether a number` ` ` `// is divisible by 36 or not` ` ` `static` `boolean` `divisibleBy36(String num)` ` ` `{` ` ` `int` `l = num.length();` ` ` ` ` `// null number cannot` ` ` `// be divisible by 36` ` ` `if` `(l == ` `0` `)` ` ` `return` `false` `;` ` ` ` ` `// single digit number other than` ` ` `// 0 is not divisible by 36` ` ` `if` `(l == ` `1` `&& num.charAt(` `0` `) != ` `'0'` `)` ` ` `return` `false` `;` ` ` ` ` `// number formed by the last 2 digits` ` ` `int` `two_digit_num = (num.charAt(l-` `2` `) - ` `'0'` `)*` `10` `+` ` ` `(num.charAt(l-` `1` `) - ` `'0'` `) ;` ` ` ` ` `// if number is not divisible by 4` ` ` `if` `(two_digit_num%` `4` `!= ` `0` `)` ` ` `return` `false` `;` ` ` ` ` `// number is divisible by 4 calculate` ` ` `// sum of digits` ` ` `int` `sum = ` `0` `;` ` ` `for` `(` `int` `i=` `0` `; i<l; i++)` ` ` `sum += (num.charAt(i) - ` `'0'` `);` ` ` ` ` `// sum of digits is not divisible by 9` ` ` `if` `(sum%` `9` `!= ` `0` `)` ` ` `return` `false` `;` ` ` ` ` `// number is divisible by 4 and 9` ` ` `// hence, number is divisible by 36` ` ` `return` `true` `;` ` ` `}` ` ` `// main function` ` ` `public` `static` `void` `main (String[] args)` ` ` `{` ` ` `String num = ` `"92567812197966231384"` `;` ` ` `if` `(divisibleBy36(num))` ` ` `System.out.println(` `"Yes"` `);` ` ` `else` ` ` `System.out.println(` `"No"` `);` ` ` `}` `}` |

## Python3

`# Python 3 implementation to` `# check divisibility by 36` `# Function to check whether a` `# number is divisible by` `# 36 or not` `def` `divisibleBy36(num) :` ` ` `l ` `=` `len` `(num)` ` ` `# null number cannot` ` ` `# be divisible by 36` ` ` `if` `(l ` `=` `=` `0` `) :` ` ` `return` `(` `"No"` `)` ` ` `# single digit number other` ` ` `# than 0 is not divisible` ` ` `# by 36` ` ` `if` `(l ` `=` `=` `1` `and` `num[` `0` `] !` `=` `'0'` `) :` ` ` `return` `(` `"No"` `)` ` ` `# number formed by the` ` ` `# last 2 digits` ` ` `two_digit_num ` `=` `(((` `int` `)(num[l ` `-` `2` `])) ` `*` ` ` `10` `+` `(` `int` `)(num[l ` `-` `1` `]))` ` ` `# if number is not` ` ` `# divisible by 4` ` ` `if` `(two_digit_num` `%` `4` `!` `=` `0` `) :` ` ` `return` `"No"` ` ` `# number is divisible` ` ` `# by 4 calculate sum` ` ` `# of digits` ` ` `sm ` `=` `0` ` ` `for` `i ` `in` `range` `(` `0` `,l) :` ` ` `sm ` `=` `sm ` `+` `(` `int` `)(num[i])` ` ` `# sum of digits is not` ` ` `# divisible by 9` ` ` `if` `(sm` `%` `9` `!` `=` `0` `) :` ` ` `return` `(` `"No"` `)` ` ` `# Number is divisible` ` ` `# by 4 and 9 hence,` ` ` `# number is divisible` ` ` `# by 36` ` ` `return` `(` `"Yes"` `)` `# Driver program` `num ` `=` `"92567812197966231384"` `print` `(divisibleBy36(num))` `# This code is contributed by Nikita Tiwari.` |

## C#

`// C# program to find if a number is` `// divisible by 36 or not` `using` `System;` `class` `GFG {` ` ` ` ` `// Function to check whether` ` ` `// a number is divisible by` ` ` `// 36 or not` ` ` `static` `bool` `divisibleBy36(String num)` ` ` `{` ` ` `int` `l = num.Length;` ` ` ` ` `// null number cannot` ` ` `// be divisible by 36` ` ` `if` `(l == 0)` ` ` `return` `false` `;` ` ` ` ` `// single digit number other than` ` ` `// 0 is not divisible by 36` ` ` `if` `(l == 1 && num[0] != ` `'0'` `)` ` ` `return` `false` `;` ` ` ` ` `// number formed by the last` ` ` `// 2 digits` ` ` `int` `two_digit_num = (num[l-2] - ` `'0'` `) * 10` ` ` `+ (num[l-1] - ` `'0'` `) ;` ` ` ` ` `// if number is not divisible by 4` ` ` `if` `(two_digit_num % 4 != 0)` ` ` `return` `false` `;` ` ` ` ` `// number is divisible by 4 calculate` ` ` `// sum of digits` ` ` `int` `sum = 0;` ` ` `for` `(` `int` `i = 0; i < l; i++)` ` ` `sum += (num[i] - ` `'0'` `);` ` ` ` ` `// sum of digits is not divisible by 9` ` ` `if` `(sum % 9 != 0)` ` ` `return` `false` `;` ` ` ` ` `// number is divisible by 4 and 9` ` ` `// hence, number is divisible by 36` ` ` `return` `true` `;` ` ` `}` ` ` `// main function` ` ` `public` `static` `void` `Main ()` ` ` `{` ` ` `String num = ` `"92567812197966231384"` `;` ` ` ` ` `if` `(divisibleBy36(num))` ` ` `Console.Write(` `"Yes"` `);` ` ` `else` ` ` `Console.Write(` `"No"` `);` ` ` `}` `}` `// This code is contributed by parashar.` |

## PHP

`<?php` `// PHP implementation to` `// check divisibility by 36` `// Function to check whether a number` `// is divisible by 36 or not` `function` `divisibleBy36(` `$num` `)` `{` ` ` `$l` `= ` `strlen` `(` `$num` `);` ` ` `// null number cannot` ` ` `// be divisible by 36` ` ` `if` `(` `$l` `== 0)` ` ` `return` `"No"` `;` ` ` `// single digit number other than` ` ` `// 0 is not divisible by 36` ` ` `if` `(` `$l` `== 1 && ` `$num` `[0] != ` `'0'` `)` ` ` `return` `"No"` `;` ` ` `// number formed by the` ` ` `// last 2 digits` ` ` `$two_digit_num` `= (` `$num` `[` `$l` `- 2] - ` `'0'` `) * 10 +` ` ` `(` `$num` `[` `$l` `- 1] - ` `'0'` `) ;` ` ` `// if number is not` ` ` `// divisible by 4` ` ` `if` `(` `$two_digit_num` `%4 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4` ` ` `// calculate sum of digits` ` ` `$sum` `= 0;` ` ` `for` `(` `$i` `= 0; ` `$i` `< ` `$l` `; ` `$i` `++)` ` ` `$sum` `+= (` `$num` `[` `$i` `] - ` `'0'` `);` ` ` `// sum of digits is not` ` ` `// divisible by 9` ` ` `if` `(` `$sum` `% 9 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4 and 9` ` ` `// hence, number is divisible by 36` ` ` `return` `"Yes"` `;` `}` `// Driver Code` `$num` `= ` `"92567812197966231384"` `;` `echo` `(divisibleBy36(` `$num` `));` `// This code is contributed by Ajit.` `?>` |

## Javascript

`<script>` `// Javascript implementation to` `// check divisibility by 36` `// Function to check whether a number` `// is divisible by 36 or not` `function` `divisibleBy36(num)` `{` ` ` `let l = num.length;` ` ` `// null number cannot` ` ` `// be divisible by 36` ` ` `if` `(l == 0)` ` ` `return` `"No"` `;` ` ` `// single digit number other than` ` ` `// 0 is not divisible by 36` ` ` `if` `(l == 1 && num[0] != ` `'0'` `)` ` ` `return` `"No"` `;` ` ` `// number formed by the` ` ` `// last 2 digits` ` ` `let two_digit_num = (num[l - 2] - ` `'0'` `) * 10 +` ` ` `(num[l - 1] - ` `'0'` `) ;` ` ` `// if number is not` ` ` `// divisible by 4` ` ` `if` `(two_digit_num%4 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4` ` ` `// calculate sum of digits` ` ` `let sum = 0;` ` ` `for` `(let i = 0; i < l; i++)` ` ` `sum += (num[i] - ` `'0'` `);` ` ` `// sum of digits is not` ` ` `// divisible by 9` ` ` `if` `(sum % 9 != 0)` ` ` `return` `"No"` `;` ` ` `// number is divisible by 4 and 9` ` ` `// hence, number is divisible by 36` ` ` `return` `"Yes"` `;` `}` `// Driver Code` `let num = ` `"92567812197966231384"` `;` `document.write(divisibleBy36(num));` `// This code is contributed by _saurabh_jaiswal.` `</script>` |

Output:

Yes

Time Complexity: O(n)

This article is contributed by **Ayush Jauhari**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**