 Open in App
Not now

## Related Articles

• Write an Interview Experience
• Mathematical Algorithms

# Check if a large number is divisible by 9 or not

• Difficulty Level : Basic
• Last Updated : 06 Feb, 2023

Given a number, the task is to find if the number is divisible by 9 or not. The input number may be large and it may not be possible to store even if we use long long int.

Examples:

```Input  : n = 69354
Output : Yes

Input  : n = 234567876799333
Output : No

Input  : n = 3635883959606670431112222
Output : No```

Since input number may be very large, we cannot use n % 9 to check if a number is divisible by 9 or not, especially in languages like C/C++. The idea is based on following fact.

`A number is divisible by 9 if sum of its digits is divisible by 9.`

Illustration:

```For example n = 9432
Sum of digits = 9 + 4 + 3 + 2
= 18
Since sum is divisible by 9,

How does this work?

```Let us consider 1332, we can write it as
1332 = 1*1000 + 3*100 + 3*10 + 2

The proof is based on below observation:
Remainder of 10i divided by 9 is 1
So powers of 10 only results in remainder 1
when divided by 9.

Remainder of "1*1000 + 3*100 + 3*10 + 2"
divided by 9 can be written as :
1*1 + 3*1 + 3*1 + 2 = 9
The above expression is basically sum of
all digits.

Since 9 is divisible by 9, answer is yes.```

Below is the implementation of above idea.

## C++

 `// C++ program to find if a number is divisible by``// 9 or not``#include``using` `namespace` `std;` `// Function to find that number divisible by 9 or not``int` `check(string str)``{``    ``// Compute sum of digits``    ``int` `n = str.length();``    ``int` `digitSum = 0;``    ``for` `(``int` `i=0; i

## Java

 `// Java program to find if a number is``// divisible by 9 or not``import` `java.io.*;``class` `IsDivisible``{``    ``// Function to find that number``    ``// is divisible by 9 or not``    ``static` `boolean` `check(String str)``    ``{``        ``// Compute sum of digits``        ``int` `n = str.length();``        ``int` `digitSum = ``0``;``        ``for` `(``int` `i=``0``; i

## Python3

 `# Python 3 program to``# find if a number is``# divisible by``# 9 or not` `# Function to find that``# number divisible by 9``# or not``def` `check(st) :` `    ``# Compute sum of digits``    ``n ``=` `len``(st)``    ``digitSum ``=` `0``    ` `    ``for` `i ``in` `range``(``0``,n) :``        ``digitSum ``=` `digitSum ``+` `(``int``)(st[i])` `    ``# Check if sum of digits``    ``# is divisible by 9.``    ``return` `(digitSum ``%` `9` `=``=` `0``)` `# Driver code``st ``=` `"99333"` `if``(check(st)) :``    ``print``(``"Yes"``)``else` `:``    ``print``(``"No"``)``    ` `# This code is contributed by Nikita Tiwari.`

## C#

 `// C# program to find if a number is``// divisible by 9 or not.``using` `System;` `class` `GFG {``    ` `    ``// Function to find that number``    ``// is divisible by 9 or not``    ``static` `bool` `check(String str)``    ``{``        ` `        ``// Compute sum of digits``        ``int` `n = str.Length;``        ``int` `digitSum = 0;``        ``for` `(``int` `i = 0; i < n; i++)``            ``digitSum += (str[i] - ``'0'``);``    ` `        ``// Check if sum of digits is``        ``// divisible by 9.``        ``return` `(digitSum % 9 == 0);``    ``}` `    ``// main function``    ``public` `static` `void` `Main ()``    ``{``        ``String str = ``"99333"``;``        ``if``(check(str))``            ``Console.Write(``"Yes"``);``        ``else``            ``Console.Write(``"No"``);``    ``}``}` `// This code is Contributed by``// nitin mittal.`

## PHP

 ``

## Javascript

 ``

Output

`Yes`

Time Complexity: O(logN), as we are traversing the digits which will effectively costs logN time.
Auxiliary Space: O(1), as we are not using any extra space.

Method 2: Checking given number is divisible by 9 or not by using the modulo division operator “%”.

## C++

 `#include ``using` `namespace` `std;` `int` `main() {` `  ``// input``    ``long` `long` `int` `n = 3635883959606670431112222;` `    ``// finding given number is``    ``// divisible by 9 or not``    ``if` `(n % 9 == 0) {``      ``cout<<``"Yes"``;``    ``}``    ``else` `{``      ``cout<<``"No"``;``    ``} ``  ` `    ``return` `0;``}` `// This code is contributed by laxmigangarajula03`

## Java

 `/*package whatever //do not write package name here */``// java program to check if given number is divisible by 9 or``// not using modulo division` `import` `java.io.*;``import` `java.math.BigInteger;` `class` `GFG {``  ``public` `static` `void` `main (String[] args)``  ``{` `    ``// input number``    ``BigInteger n, b1,b2;` `    ``n = ``new` `BigInteger(``"3635883959606670431112222"``);``    ``b1 = ``new` `BigInteger(``"9"``);` `    ``// apply mod() method``    ``BigInteger result = n.mod(b1);``    ``// checking if the given number is divisible by 9 or not``    ``// using modulo division operator if the output of num%9``    ``// is equal to 0 then given number is divisible by 9``    ``// otherwise not divisible by 9``    ``b2 = ``new` `BigInteger(``"0"``);``    ``int` `comparevalue = result.compareTo(b2);``    ``if` `(comparevalue==``0``) {``      ``System.out.println(``"Yes"``);``    ``}``    ``else` `{``      ``System.out.println(``"No"``);``    ``}` `  ``}``}` `// This code is contributed by satwik4409.`

## Python3

 `# Python code``# To check whether the given number is divisible by 9 or not` `#input``n``=``3635883959606670431112222``# the above input can also be given as n=input() -> taking input from user``# finding given number is divisible by 9 or not``if` `int``(n)``%``9``=``=``0``:``  ``print``(``"Yes"``)``else``:``  ``print``(``"No"``)``  ` `  ``# this code is contributed by gangarajula laxmi`

## C#

 `using` `System;` `public` `class` `GFG {` `  ``static` `public` `void` `Main()``  ``{` `    ``// input``    ``double` `n = 36358839596066;` `     ``// finding given number is``    ``// divisible by 7 or not``    ``if` `(n % 9 == 0) {``      ``Console.Write(``"Yes"``);``    ``}``    ``else` `{``      ``Console.Write(``"No"``);``    ``}``  ``}``}` `// This code is contributed by laxmigangarajula03`

## Javascript

 ``

## PHP

 ``

Output

`No`

Time complexity: O(1) it is performing constant operations
Auxiliary space: O(1)

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