Centered octagonal number
In number theory, the centered octagonal number is a fascinating sequence of integers that forms a specific pattern. Centered octagonal numbers can be represented by the formula (4n² - 4n + 1), where 'n' is a positive integer. These numbers are called "centered" because they can be visualized as octagons with a dot at the center, and each successive octagon is formed by adding a ring of eight additional dots around the previous one.
Problem Statement
The task is to write a program to generate the first 'k' centered octagonal numbers and display the results.
Explanation with an Example
Let's take the value of 'k' as 10. We need to find the first 10 centered octagonal numbers using the given formula. The formula for the nth centered octagonal number is (4n² - 4n + 1).
1st centered octagonal number (n = 1): result = 4*(1^2) - 4*1 + 1 result = 4 - 4 + 1 result = 1
2nd centered octagonal number (n = 2): result = 4*(2^2) - 4*2 + 1 result = 16 - 8 + 1 result = 9
3rd centered octagonal number (n = 3): result = 4*(3^2) - 4*3 + 1 result = 36 - 12 + 1 result = 25
...and so on, until the 10th centered octagonal number.
Standard Pseudocode
Function centeredOctagonalNo(k)
for n from 1 to k
result = 4 * (n * n) - 4 * n + 1
Print result
Algorithm Explanation
- Start by defining a function centeredOctagonalNo that takes an integer parameter 'k' as input.
- Inside the function, use a for loop to iterate over 'n' from 1 to 'k' (both inclusive).
- For each 'n', calculate the corresponding centered octagonal number using the formula (4 * (n * n) - 4 * n + 1).
- Print the calculated centered octagonal number.
Code Solution
Here given code implementation process.
// C Program for
// Centered octagonal number
#include <stdio.h>
void centeredOctagonalNo(int k)
{
// Print all initial k centered octagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
int result = ((4 *(n *n) - 4 *n + 1));
// Display Calculated value
printf(" %d", result);
}
}
int main()
{
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
centeredOctagonalNo(10);
return 0;
}
Output
1 9 25 49 81 121 169 225 289 361
// Java program for
// Centered octagonal number
public class CenteredOctagonal
{
public void centeredOctagonalNo(int k)
{
// Print all initial k centered octagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
int result = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
System.out.print(" " + result);
}
}
public static void main(String[] args)
{
CenteredOctagonal task = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
}
Output
1 9 25 49 81 121 169 225 289 361
// Include header file
#include <iostream>
using namespace std;
// C++ program for
// Centered octagonal number
class CenteredOctagonal
{
public: void centeredOctagonalNo(int k)
{
// Print all initial k centered octagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
int result = ((4 *(n *n) - 4 *n + 1));
// Display calculated result
cout << " " << result;
}
}
};
int main()
{
CenteredOctagonal *task = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task->centeredOctagonalNo(10);
return 0;
}
Output
1 9 25 49 81 121 169 225 289 361
// Include namespace system
using System;
// Csharp program for
// Centered octagonal number
public class CenteredOctagonal
{
public void centeredOctagonalNo(int k)
{
// Print all initial k centered octagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
int result = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
Console.Write(" " + result);
}
}
public static void Main(String[] args)
{
CenteredOctagonal task = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
}
Output
1 9 25 49 81 121 169 225 289 361
package main
import "fmt"
// Go program for
// Centered octagonal number
func centeredOctagonalNo(k int) {
// Print all initial k centered octagonal number
for n := 1 ; n <= k ; n++ {
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
var result int = ((4 * (n * n) - 4 * n + 1))
// Display calculated result
fmt.Print(" ", result)
}
}
func main() {
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
centeredOctagonalNo(10)
}
Output
1 9 25 49 81 121 169 225 289 361
<?php
// Php program for
// Centered octagonal number
class CenteredOctagonal
{
public function centeredOctagonalNo($k)
{
// Print all initial k centered octagonal number
for ($n = 1; $n <= $k; ++$n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
$result = ((4 * ($n * $n) - 4 * $n + 1));
// Display calculated result
echo(" ".$result);
}
}
}
function main()
{
$task = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
$task->centeredOctagonalNo(10);
}
main();
Output
1 9 25 49 81 121 169 225 289 361
// Node JS program for
// Centered octagonal number
class CenteredOctagonal
{
centeredOctagonalNo(k)
{
// Print all initial k centered octagonal number
for (var n = 1; n <= k; ++n)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
var result = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
process.stdout.write(" " + result);
}
}
}
function main()
{
var task = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
main();
Output
1 9 25 49 81 121 169 225 289 361
# Python 3 program for
# Centered octagonal number
class CenteredOctagonal :
def centeredOctagonalNo(self, k) :
n = 1
# Print all initial k centered octagonal number
while (n <= k) :
# Formula
# (4n² - 4n + 1)
# Calculate nth octagonal number
result = ((4 * (n * n) - 4 * n + 1))
# Display calculated result
print(" ", result, end = "")
n += 1
def main() :
task = CenteredOctagonal()
# Centered octagonal numbers are
# —————————————————————————————————————————————
# 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
# 441, 529, 625, 729, 841, 961 ... etc
# Test k = 10
task.centeredOctagonalNo(10)
if __name__ == "__main__": main()
Output
1 9 25 49 81 121 169 225 289 361
# Ruby program for
# Centered octagonal number
class CenteredOctagonal
def centeredOctagonalNo(k)
n = 1
# Print all initial k centered octagonal number
while (n <= k)
# Formula
# (4n² - 4n + 1)
# Calculate nth octagonal number
result = ((4 * (n * n) - 4 * n + 1))
# Display calculated result
print(" ", result)
n += 1
end
end
end
def main()
task = CenteredOctagonal.new()
# Centered octagonal numbers are
# —————————————————————————————————————————————
# 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
# 441, 529, 625, 729, 841, 961 ... etc
# Test k = 10
task.centeredOctagonalNo(10)
end
main()
Output
1 9 25 49 81 121 169 225 289 361
// Scala program for
// Centered octagonal number
class CenteredOctagonal()
{
def centeredOctagonalNo(k: Int): Unit = {
var n: Int = 1;
// Print all initial k centered octagonal number
while (n <= k)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
var result: Int = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
print(" " + result);
n += 1;
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: CenteredOctagonal = new CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
}
Output
1 9 25 49 81 121 169 225 289 361
// Swift 4 program for
// Centered octagonal number
class CenteredOctagonal
{
func centeredOctagonalNo(_ k: Int)
{
var n: Int = 1;
// Print all initial k centered octagonal number
while (n <= k)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
let result: Int = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
print(" ", result, terminator: "");
n += 1;
}
}
}
func main()
{
let task: CenteredOctagonal = CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
main();
Output
1 9 25 49 81 121 169 225 289 361
// Kotlin program for
// Centered octagonal number
class CenteredOctagonal
{
fun centeredOctagonalNo(k: Int): Unit
{
var n: Int = 1;
// Print all initial k centered octagonal number
while (n <= k)
{
// Formula
// (4n² - 4n + 1)
// Calculate nth octagonal number
val result: Int = ((4 * (n * n) - 4 * n + 1));
// Display calculated result
print(" " + result);
n += 1;
}
}
}
fun main(args: Array < String > ): Unit
{
val task: CenteredOctagonal = CenteredOctagonal();
// Centered octagonal numbers are
// —————————————————————————————————————————————
// 1, 9, 25, 49, 81, 121, 169, 225, 289, 361
// 441, 529, 625, 729, 841, 961 ... etc
// Test k = 10
task.centeredOctagonalNo(10);
}
Output
1 9 25 49 81 121 169 225 289 361
Resultant Output Explanation
The provided C program uses the centeredOctagonalNo function to find the first 10 centered octagonal numbers (k = 10). The output will display these numbers as follows:
Output: 1 9 25 49 81 121 169 225 289 361
Time Complexity
The time complexity of the code is O(k) because the function centeredOctagonalNo iterates 'n' from 1 to 'k', and for each 'n', it performs constant time operations to calculate the centered octagonal number and print it. As the input 'k' grows, the number of iterations will increase linearly, leading to linear time complexity.
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment