Check if a large number is divisible by 9 or not

• Difficulty Level : Basic
• Last Updated : 09 Apr, 2021

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#includeusing namespace std; // Function to find that number divisible by 9 or notint 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 notclass 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 notdef 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 codest = "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.



Javascript



Output:

Yes

This article is contributed by DANISH_RAZA . 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.