Friday, December 27, 2024
Google search engine
HomeData Modelling & AICentered Square Number

Centered Square Number

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.

Centered-Square-Number

Examples :

Input : n = 2
Output : 5

Input : n = 9
Output : 145
  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 <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.

    
    

    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




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

    
    

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

    
    

    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
    

Reference: https://en.wikipedia.org/wiki/Centered_square_number

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments