Given a number n, the task is to find nth Centered Square Number. A 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 the formula n2 + (n-1)2.
Examples :
Input: n = 2
Output: 5
Input: n = 9
Output: 145
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 of the above approach:
C++
// C++ program to find nth
// Centered square number.
#include <bits/stdc++.h>
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.
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.
JavaScript
// Function to calculate centered square number
function centeredSquareNum(n) {
// Formula to calculate nth centered square number
return n * n + ((n - 1) * (n - 1));
}
// Main function
function main() {
const n = 7;
console.log(`${n}th Centered square number: ${centeredSquareNum(n)}`);
}
// Calling the main function
main();
PHP
<?php
// PHP program to find nth
// Centered square number
// Function to calculate Centered
// square number function
function centered_square_num( $n)
{
// Formula to calculate nth
// Centered square number
return $n * $n + (($n - 1) *
($n - 1));
}
// Driver Code
$n = 7;
echo $n , "th Centered square number: ";
echo 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))
Output7th Centered square number: 85
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 numberN = Given NumberSolve for n:H(n) = Nn * n + ((n - 1) * (n - 1)) = NApplying Shridharacharya FormulaThe 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:
C++
#include <bits/stdc++.h>
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<<centeredSquare_number(i);
return 0;
}
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
Python
# 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
Reference:.https://en.wikipedia.org/wiki/Centered_square_number
Last Updated :
28 Mar, 2024
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...