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

Last Updated : 13 Sep, 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)

Previous
Next