# Sum of all N digit palindromic numbers divisible by 9 formed using digits 1 to 9

Given a number **N**, the task is to find the sum of all N digits palindromic numbers (formed by digits from 1 to 9) that are divisible by 9.

**Examples:**

Input:N = 1Output:9Explanation:

Only 9 is a palindromic number of 1 digit divisible by 9

Input:N = 3Output:4995Explanation:

Three-digit Palindromic Numbers divisible by 9 are –

171, 252, 333, 414, 585, 666, 747, 828, 999

**Approach:** The key observation in the problem is that if a number is divisible by 9, then the sum of digits of that number is also divisible by 9. Another observation is if we count the number of N-digit palindromic numbers using the digits from 1 to 9, then it can be observed that

Occurrence of each digit = (count of N-digit numbers / 9)

Therefore,

- First find the count of N-digit Palindromic numbers divisible by 9, as:
- Then if N is 1 or 2, the sum will be simply 9 and 99 respectively, as they are the only palindromic numbers of 1 and 2 digits.
- If N > 2, then the sum for Nth digit palindromic numbers divisible by 9 is
Below is the implementation of the above approach:

## C++

`// C++ implementation to find the sum`

`// of all the N digit palindromic`

`// numbers divisible by 9`

`#include <bits/stdc++.h>`

`using`

`namespace`

`std;`

`// Function for finding count of`

`// N digits palindrome which`

`// are divisible by 9`

`int`

`countPalindrome(`

`int`

`n)`

`{`

`int`

`count;`

`// if N is odd`

`if`

`(n % 2 == 1) {`

`count =`

`pow`

`(9, (n - 1) / 2);`

`}`

`// if N is even`

`else`

`{`

`count =`

`pow`

`(9, (n - 2) / 2);`

`}`

`return`

`count;`

`}`

`// Function for finding sum of N`

`// digits palindrome which are`

`// divisible by 9`

`int`

`sumPalindrome(`

`int`

`n)`

`{`

`// count the possible`

`// number of palindrome`

`int`

`count = countPalindrome(n);`

`int`

`res = 0;`

`if`

`(n == 1)`

`return`

`9;`

`if`

`(n == 2)`

`return`

`99;`

`for`

`(`

`int`

`i = 0; i < n; i++) {`

`res = res * 10 + count * 5;`

`}`

`return`

`res;`

`}`

`// Driver Code`

`int`

`main()`

`{`

`int`

`n = 3;`

`cout << sumPalindrome(n);`

`return`

`0;`

`}`

## Java

`// Java implementation to find the sum`

`// of all the N digit palindromic`

`// numbers divisible by 9`

`import`

`java.util.*;`

`class`

`GFG{`

`// Function for finding count of`

`// N digits palindrome which`

`// are divisible by 9`

`static`

`int`

`countPalindrome(`

`int`

`n)`

`{`

`int`

`count;`

`// If N is odd`

`if`

`(n %`

`2`

`==`

`1`

`)`

`{`

`count = (`

`int`

`)Math.pow(`

`9`

`, (n -`

`1`

`) /`

`2`

`);`

`}`

`// If N is even`

`else`

`{`

`count = (`

`int`

`)Math.pow(`

`9`

`, (n -`

`2`

`) /`

`2`

`);`

`}`

`return`

`count;`

`}`

`// Function for finding sum of N`

`// digits palindrome which are`

`// divisible by 9`

`static`

`int`

`sumPalindrome(`

`int`

`n)`

`{`

`// Count the possible`

`// number of palindrome`

`int`

`count = countPalindrome(n);`

`int`

`res =`

`0`

`;`

`if`

`(n ==`

`1`

`)`

`return`

`9`

`;`

`if`

`(n ==`

`2`

`)`

`return`

`99`

`;`

`for`

`(`

`int`

`i =`

`0`

`; i < n; i++)`

`{`

`res = res *`

`10`

`+ count *`

`5`

`;`

`}`

`return`

`res;`

`}`

`// Driver Code`

`public`

`static`

`void`

`main(String[] args)`

`{`

`int`

`n =`

`3`

`;`

`System.out.println(sumPalindrome(n));`

`}`

`}`

`// This code is contributed by ANKITKUMAR34`

## Python3

`# Python3 implementation to find the`

`# sum of all the N digit palindromic`

`# numbers divisible by 9`

`# Function for finding count of`

`# N digits palindrome which`

`# are divisible by 9`

`def`

`countPalindrome(n):`

`count`

`=`

`0`

`# If N is odd`

`if`

`(n`

`%`

`2`

`=`

`=`

`1`

`):`

`count`

`=`

`pow`

`(`

`9`

`, (n`

`-`

`1`

`)`

`/`

`/`

`2`

`)`

`# If N is even`

`else`

`:`

`count`

`=`

`pow`

`(`

`9`

`, (n`

`-`

`2`

`)`

`/`

`/`

`2`

`)`

`return`

`count`

`# Function for finding sum of N`

`# digits palindrome which are`

`# divisible by 9`

`def`

`sumPalindrome(n):`

`# Count the possible`

`# number of palindrome`

`count`

`=`

`countPalindrome(n)`

`res`

`=`

`0`

`if`

`(n`

`=`

`=`

`1`

`):`

`return`

`9`

`if`

`(n`

`=`

`=`

`2`

`):`

`return`

`99`

`for`

`i`

`in`

`range`

`(n):`

`res`

`=`

`res`

`*`

`10`

`+`

`count`

`*`

`5`

`return`

`res`

`# Driver Code`

`n`

`=`

`3`

`print`

`(sumPalindrome(n))`

`# This code is contributed by ANKITKUMAR34`

## C#

`// C# implementation to find the sum`

`// of all the N digit palindromic`

`// numbers divisible by 9`

`using`

`System;`

`class`

`GFG{`

`// Function for finding count of`

`// N digits palindrome which`

`// are divisible by 9`

`static`

`int`

`countPalindrome(`

`int`

`n)`

`{`

`int`

`count;`

`// If N is odd`

`if`

`(n % 2 == 1)`

`{`

`count = (`

`int`

`)Math.Pow(9, (n - 1) / 2);`

`}`

`// If N is even`

`else`

`{`

`count = (`

`int`

`)Math.Pow(9, (n - 2) / 2);`

`}`

`return`

`count;`

`}`

`// Function for finding sum of N`

`// digits palindrome which are`

`// divisible by 9`

`static`

`int`

`sumPalindrome(`

`int`

`n)`

`{`

`// Count the possible`

`// number of palindrome`

`int`

`count = countPalindrome(n);`

`int`

`res = 0;`

`if`

`(n == 1)`

`return`

`9;`

`if`

`(n == 2)`

`return`

`99;`

`for`

`(`

`int`

`i = 0; i < n; i++)`

`{`

`res = res * 10 + count * 5;`

`}`

`return`

`res;`

`}`

`// Driver Code`

`public`

`static`

`void`

`Main(String[] args)`

`{`

`int`

`n = 3;`

`Console.WriteLine(sumPalindrome(n));`

`}`

`}`

`// This code is contributed by Amit Katiyar`

**Output:**4995

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****.**