Given an integer **N**, the task is to check if it is a Centered Octagonal number or not. If the number **N** is an Centered Octagonal Number then print **“Yes”** else print **“No”**.

Centered Octagonal numberrepresents an octagon with a dot in the centre and others dots surrounding the centre dot in the successive octagonal layer.The first few Centered Octagonal numbers are 1, 9, 25, 49, 81, 121, 169, 225, 289, 361 …

**Examples:**

Input:N = 9Output:YesExplanation:

Second Centered Octagonal number is 9.Input:16Output:No

**Approach:**

1. The **K ^{th}** term of the

**Centered Octagonal number**is given as

2. As we have to check that the given number can be expressed as a Centered Octagonal Number or not. This can be checked as follows –

=>

=>

3. If the value of **K** calculated using the above formula is an integer, then **N** is a Centered Octagonal Number.

4. Else **N** is not a Centered Octagonal Number.

Below is the implementation of the above approach:

## C++

`// C++ program for the above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to check if the number N` `// is a Centered Octagonal number` `bool` `isCenteredOctagonal(` `int` `N)` `{` ` ` `float` `n` ` ` `= (1 + ` `sqrt` `(N))` ` ` `/ 2;` ` ` `// Condition to check if the number` ` ` `// is a Centered Octagonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` `// Driver Code` `int` `main()` `{` ` ` `// Given Number` ` ` `int` `N = 9;` ` ` `// Function call` ` ` `if` `(isCenteredOctagonal(N)) {` ` ` `cout << ` `"Yes"` `;` ` ` `}` ` ` `else` `{` ` ` `cout << ` `"No"` `;` ` ` `}` ` ` `return` `0;` `}` |

## Java

`// Java program for the above approach` `import` `java.util.*;` `class` `GFG{` `// Function to check if the number N` `// is a centered octagonal number` `static` `boolean` `isCenteredOctagonal(` `int` `N)` `{` ` ` `float` `n = (` `float` `) ((` `1` `+ Math.sqrt(N)) / ` `2` `);` ` ` `// Condition to check if the number` ` ` `// is a centered octagonal number` ` ` `return` `(n - (` `int` `)n) == ` `0` `;` `}` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` ` ` `// Given Number` ` ` `int` `N = ` `9` `;` ` ` `// Function call` ` ` `if` `(isCenteredOctagonal(N))` ` ` `{` ` ` `System.out.print(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `System.out.print(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by sapnasingh4991` |

## Python3

`# Python3 program for the above approach` `import` `numpy as np` `# Function to check if the number N` `# is a centered octagonal number` `def` `isCenteredOctagonal(N):` ` ` `n ` `=` `(` `1` `+` `np.sqrt(N)) ` `/` `2` ` ` `# Condition to check if N` ` ` `# is a centered octagonal number` ` ` `return` `(n ` `-` `int` `(n)) ` `=` `=` `0` `# Driver Code` `N ` `=` `9` `# Function call` `if` `(isCenteredOctagonal(N)):` ` ` `print` `(` `"Yes"` `)` `else` `:` ` ` `print` `(` `"No"` `)` `# This code is contributed by PratikBasu` |

## C#

`// C# program for the above approach` `using` `System;` `class` `GFG{` `// Function to check if the number N` `// is a centered octagonal number` `static` `bool` `isCenteredOctagonal(` `int` `N)` `{` ` ` `float` `n = (` `float` `) ((1 + Math.Sqrt(N)) / 2);` ` ` `// Condition to check if the number` ` ` `// is a centered octagonal number` ` ` `return` `(n - (` `int` `)n) == 0;` `}` `// Driver Code` `public` `static` `void` `Main(` `string` `[] args)` `{` ` ` ` ` `// Given Number` ` ` `int` `N = 9;` ` ` `// Function call` ` ` `if` `(isCenteredOctagonal(N))` ` ` `{` ` ` `Console.Write(` `"Yes"` `);` ` ` `}` ` ` `else` ` ` `{` ` ` `Console.Write(` `"No"` `);` ` ` `}` `}` `}` `// This code is contributed by rutvik_56` |

## Javascript

`<script>` `// javascript program for the above approach` `// Function to check if the number N` `// is a Centered Octagonal number` `function` `isCenteredOctagonal( N)` `{` ` ` `let n` ` ` `= (1 + Math.sqrt(N))` ` ` `/ 2;` ` ` `// Condition to check if the number` ` ` `// is a Centered Octagonal number` ` ` `return` `(n - parseInt(n)) == 0;` `}` `// Driver Code` ` ` `// Given Number` ` ` `let N = 9;` ` ` `// Function call` ` ` `if` `(isCenteredOctagonal(N)) {` ` ` `document.write( ` `"Yes"` `);` ` ` `}` ` ` `else` `{` ` ` `document.write( ` `"No"` `);` ` ` `}` ` ` ` ` `// This code contributed by aashish1995` `</script>` |

**Output:**

Yes

**Time Complexity: **O(1)

**Auxiliary Space: **O(1)

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