# Smallest number whose sum of digits is square of N

• Last Updated : 24 Mar, 2021

Given an integer N, the task is to find the smallest number whose sum of digits is N2.
Examples:

Input: N = 4
Output: 79
24 = 16
sum of digits of 79 = 76
Input: N = 6
Output: 9999
210 = 1024 which has 4 digits

Approach: The idea is to find the general term for the smallest number whose sum of digits is square of N. That is

```// First Few terms
First Term = 1 // N = 1
Second Term = 4 // N = 2
Third Term = 9 // N = 3
Fourth Term = 79 // N = 4
.
.
Nth Term:```

```*** QuickLaTeX cannot compile formula:

*** Error message:
Error: Nothing to show, formula is empty
```

` <sup>(n^2 \% 9 + 1) * 10 ^ {\lfloor n^2/9 \rfloor} - 1 </sup>`

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach` `#include ``using` `namespace` `std;` `// Function to return smallest``// number whose sum of digits is n^2``int` `smallestNum(``int` `n)``{``  ``cout<<``pow``(10, n * n / 9)<

## Java

 `// Java implementation of the above approach``import` `java.util.*;` `class` `GFG{` `// Function to return smallest``// number whose sum of digits is n^2``static` `int` `smallestNum(``int` `n)``{``    ``return` `(``int``)((n * n % ``9` `+ ``1``) *``         ``Math.pow(``10``, n * n / ``9``) - ``1``);``}` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``4``;``    ` `    ``System.out.print(smallestNum(n));``}``}` `// This code is contributed by Rajput-Ji`

## Python 3

 `# Python implementation of the above approach` `# Function to return smallest``# number whose sum of digits is n^2``def` `smallestNum(n):` `    ``return` `((n ``*` `n ``%` `9` `+` `1``)  ``*``          ``pow``(``10``, ``int``(n ``*` `n ``/` `9``)) ``-` `1``)` `# Driver Code` `# Given N``N ``=` `4` `print``(smallestNum(N))` `# This code is contributed by Vishal Maurya.`

## C#

 `// C# implementation of the above approach``using` `System;` `class` `GFG{` `// Function to return smallest``// number whose sum of digits is n^2``static` `int` `smallestNum(``int` `n)``{``    ``return` `(``int``)((n * n % 9 + 1) *``         ``Math.Pow(10, n * n / 9) - 1);``}` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 4;``    ` `    ``Console.Write(smallestNum(n));``}``}` `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output:

`79`

My Personal Notes arrow_drop_up