 Open in App
Not now

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

• Difficulty Level : Basic
• Last Updated : 14 Mar, 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 the 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 9 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.