Skip to content
Related Articles
Centered Square Number
• Last Updated : 30 Mar, 2020

Given a number n , the task is to find nth Centered Square Number.

Centered Square Number is a centered figurate number that gives the number of dots in a square with a dot in the center and all other dots surrounding the center dot in successive square layers. Nth Centered square number can be calculated by using formula n2 + (n-1)2. Examples :

```Input : n = 2
Output : 5

Input : n = 9
Output : 145
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

1. Finding n-th Centered Square Number
If we take a closer look, we can notice that the n-th Centered Square Number can be seen as the sum of two consecutive square numbers (1 dot, 4 dots, 9 dots, 16 dots, etc).

We can find n-th Centered Square Number using below formula.

n-th Centered Square Number = n2 + (n-1)2

Below is the implementation :

## C++

 `// C++ program to find nth``// Centered square number.``#include `` ` `using` `namespace` `std;`` ` `// Function to calculate Centered``// square number function``int` `centered_square_num(``int` `n)``{``    ``// Formula to calculate nth``    ``// Centered square number``    ``return` `n * n + ((n - 1) * (n - 1));``}`` ` `// Driver Code``int` `main()``{``    ``int` `n = 7;``    ``cout << n << ``"th Centered square number: "``;``    ``cout << centered_square_num(n);``    ``return` `0;``}`

## Java

 `// Java program to find nth Centered square``// number``import` `java.io.*;`` ` `class` `GFG {`` ` `    ``// Function to calculate Centered``    ``// square number function``    ``static` `int` `centered_square_num(``int` `n)``    ``{``        ``// Formula to calculate nth``        ``// Centered square number``        ``return` `n * n + ((n - ``1``) * (n - ``1``));``    ``}``     ` `    ``// Driver Code``    ``public` `static` `void` `main (String[] args) ``    ``{``        ``int` `n = ``7``;``        ``System.out.print( n + ``"th Centered"``                       ``+ ``" square number: "``                 ``+ centered_square_num(n));``    ``}``}`` ` `// This code is contributed by anuj_67.`

## Python3

 `# Python program to find nth``# Centered square number.`` ` ` ` `# Function to calculate Centered``# square number function``def` `centered_square_num(n):`` ` `    ``# Formula to calculate nth``    ``# Centered square number``    ``return` `n ``*` `n ``+` `((n ``-` `1``) ``*` `(n ``-` `1``))`` ` ` ` `# Driver Code``n ``=` `7``print``(``"%sth Centered square number: "` `%``n,``                  ``centered_square_num(n))``    `

## C#

 `// C# program to find nth``// Centered square number.``using` `System;`` ` `public` `class` `GFG {`` ` `    ``// Function to calculate Centered``    ``// square number function``    ``static` `int` `centered_square_num(``int` `n)``    ``{``        ``// Formula to calculate nth``        ``// Centered square number``        ``return` `n * n + ((n - 1) * (n - 1));``    ``}``     ` `    ``// Driver Code`` ` `    ``static` `public` `void` `Main (){``    ``int` `n = 7;``    ``Console.WriteLine( n + ``"th Centered"``                    ``+ ``" square number: "``               ``+ centered_square_num(n));``    ``}``}`` ` `// This code is contributed by anuj_67.`

## PHP

 ``

Output :
```7th Centered square number: 85
```
2. Check if N is centred-square-number or not:
• The first few centered-square-number numbers are:

1,5,13,25,41,61,85,113,145,181,…………

• Since the nth centered-square-number number is given by
`H(n) = n * n + ((n - 1) * (n - 1))`
• The formula indicates that the n-th centred-square-number number depends quadratically on n. Therefore, try to find the positive integral root of N = H(n) equation.
```H(n) = nth centered-square-number number
N = Given Number

Solve for n:
H(n) = N
n * n + ((n - 1) * (n - 1)) = N

Applying Shridharacharya Formula
The positive root of equation (i)
n = (9 + sqrt(36*N+45))/18;
```
• After obtaining n, check if it is an integer or not. n is an integer if n – floor(n) is 0.

Below is the implementation of the above approach:

## CPP

 `#include ``using` `namespace` `std;`` ` `bool` `centeredSquare_number(``int` `N) ``{     ``    ``float` `n = (9 + ``sqrt``(36*N+45))/18;  ``    ``return` `(n - (``int``) n) == 0; ``} `` ` `int` `main() ``{ ``    ``int` `i = 13;``    ``cout<

## Java

 `// Java Code implementation of the above approach``class` `GFG {``     ` `    ``static` `int` `centeredSquare_number(``int` `N) ``    ``{     ``        ``float` `n = (``9` `+ (``float``)Math.sqrt(``36``*N+``45``))/``18``;  ``        ``if` `(n - (``int``) n == ``0``)``            ``return` `1``;``        ``else``            ``return` `0``;``    ``} ``     ` `    ``// Driver code``    ``public` `static` `void` `main (String[] args) ``    ``{ ``        ``int` `i = ``13``;``        ``System.out.println(centeredSquare_number(i));``    ``} ``     ` `}`` ` `// This code is contributed by Yash_R`

## Python3

 `# Python3 implementation of the above approach``from` `math ``import` `sqrt`` ` `def` `centeredSquare_number(N) : `` ` `    ``n ``=` `(``9` `+` `sqrt(``36` `*` `N ``+` `45``))``/``18``; ``    ``if` `(n ``-` `int``(n)) ``=``=` `0` `:``        ``return` `1``    ``else` `:``        ``return` `0`` ` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `: `` ` `    ``i ``=` `13``;``    ``print``(centeredSquare_number(i));`` ` `# This code is contributed by Yash_R`

## C#

 `// C# Code implementation of the above approach``using` `System;`` ` `class` `GFG {``     ` `    ``static` `int` `centeredSquare_number(``int` `N) ``    ``{     ``        ``float` `n = (9 + (``float``)Math.Sqrt(36 * N + 45))/18;  ``        ``if` `(n - (``int``) n == 0)``            ``return` `1;``        ``else``            ``return` `0;``    ``} ``     ` `    ``// Driver code``    ``public` `static` `void` `Main (String[] args) ``    ``{ ``        ``int` `i = 13;``        ``Console.WriteLine(centeredSquare_number(i));``    ``} ``     ` `}`` ` `// This code is contributed by Yash_R`
Output:
```0
```

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.

My Personal Notes arrow_drop_up