Octahedral number
An octahedral number is a figurate number that represents the number of spheres in an octahedron made by stacking layers of spheres. It can also be visualized as the sum of the first n triangular numbers. The formula for finding the nth octahedral number is n(2n² + 1) / 3.
Problem Statement
The task is to generate the first k octahedral numbers using the given formula and display the results.
Example
Let's take k = 5 as an example to understand the process of generating octahedral numbers.
- For n = 1: Octahedral number = (1 * (2 * (1 * 1) + 1)) / 3 = 1
- For n = 2: Octahedral number = (2 * (2 * (2 * 2) + 1)) / 3 = 6
- For n = 3: Octahedral number = (3 * (2 * (3 * 3) + 1)) / 3 = 19
- For n = 4: Octahedral number = (4 * (2 * (4 * 4) + 1)) / 3 = 44
- For n = 5: Octahedral number = (5 * (2 * (5 * 5) + 1)) / 3 = 85
Pseudocode
- Start with a function to calculate and display the first k octahedral numbers.
- Inside the function, use a loop to iterate from n = 1 to n = k.
- For each value of n, apply the octahedral number formula (n(2n² + 1) / 3) to find the result.
- Print the calculated result for each value of n.
Algorithm
FUNCTION octahedralNo(k):
FOR n = 1 to k:
result = (n * (2 * (n * n) + 1)) / 3
PRINT result
END FOR
END FUNCTION
FUNCTION main():
SET k = 10
CALL octahedralNo(k)
END FUNCTION
Code Solution
Here given code implementation process.
// C Program for
// Octahedral number
#include <stdio.h>
void octahedralNo(int k)
{
// Print all initial k octahedral number
for (int n = 1; n <= k; ++n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
int result = (n *(2 *(n *n) + 1)) / 3;
// Display calculated result
printf(" %d", result);
}
}
int main()
{
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
octahedralNo(10);
return 0;
}
Output
1 6 19 44 85 146 231 344 489 670
// Java program for
// Octahedral number
public class OctahedralNumber
{
public void octahedralNo(int k)
{
// Print all initial k octahedral number
for (int n = 1; n <= k; ++n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
int result = (n * (2 * (n * n) + 1)) / 3;
// Display calculated result
System.out.print(" " + result);
}
}
public static void main(String[] args)
{
OctahedralNumber task = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
}
Output
1 6 19 44 85 146 231 344 489 670
// Include header file
#include <iostream>
using namespace std;
// C++ program for
// Octahedral number
class OctahedralNumber
{
public: void octahedralNo(int k)
{
// Print all initial k octahedral number
for (int n = 1; n <= k; ++n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
int result = (n *(2 *(n *n) + 1)) / 3;
// Display calculated result
cout << " " << result;
}
}
};
int main()
{
OctahedralNumber *task = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task->octahedralNo(10);
return 0;
}
Output
1 6 19 44 85 146 231 344 489 670
package main
import "fmt"
// Go program for
// Octahedral number
func octahedralNo(k int) {
// Print all initial k octahedral number
for n := 1 ; n <= k ; n++ {
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
var result int = (n * (2 * (n * n) + 1)) / 3
// Display calculated result
fmt.Print(" ", result)
}
}
func main() {
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
octahedralNo(10)
}
Output
1 6 19 44 85 146 231 344 489 670
// Include namespace system
using System;
// Csharp program for
// Octahedral number
public class OctahedralNumber
{
public void octahedralNo(int k)
{
// Print all initial k octahedral number
for (int n = 1; n <= k; ++n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
int result = (n * (2 * (n * n) + 1)) / 3;
// Display calculated result
Console.Write(" " + result);
}
}
public static void Main(String[] args)
{
OctahedralNumber task = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
}
Output
1 6 19 44 85 146 231 344 489 670
<?php
// Php program for
// Octahedral number
class OctahedralNumber
{
public function octahedralNo($k)
{
// Print all initial k octahedral number
for ($n = 1; $n <= $k; ++$n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
$result = (int)(($n * (2 * ($n * $n) + 1)) / 3);
// Display calculated result
echo(" ".$result);
}
}
}
function main()
{
$task = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
$task->octahedralNo(10);
}
main();
Output
1 6 19 44 85 146 231 344 489 670
// Node JS program for
// Octahedral number
class OctahedralNumber
{
octahedralNo(k)
{
// Print all initial k octahedral number
for (var n = 1; n <= k; ++n)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
var result = parseInt((n * (2 * (n * n) + 1)) / 3);
// Display calculated result
process.stdout.write(" " + result);
}
}
}
function main()
{
var task = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
main();
Output
1 6 19 44 85 146 231 344 489 670
# Python 3 program for
# Octahedral number
class OctahedralNumber :
def octahedralNo(self, k) :
n = 1
# Print all initial k octahedral number
while (n <= k) :
# Formula
# n(2n²+1)
# —————————
# 3
# Calculate nth octahedral number
result = int((n * (2 * (n * n) + 1)) / 3)
# Display calculated result
print(" ", result, end = "")
n += 1
def main() :
task = OctahedralNumber()
# Octahedral number are
# —————————————————————————————————————————————
# 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
# 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
# 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
# 13131, 14644, 16269, 18010, 19871, 21856, 23969,
# 26214, 28595, 31116, 33781, 36594, 39559 etc.
# k = 10
task.octahedralNo(10)
if __name__ == "__main__": main()
Output
1 6 19 44 85 146 231 344 489 670
# Ruby program for
# Octahedral number
class OctahedralNumber
def octahedralNo(k)
n = 1
# Print all initial k octahedral number
while (n <= k)
# Formula
# n(2n²+1)
# —————————
# 3
# Calculate nth octahedral number
result = (n * (2 * (n * n) + 1)) / 3
# Display calculated result
print(" ", result)
n += 1
end
end
end
def main()
task = OctahedralNumber.new()
# Octahedral number are
# —————————————————————————————————————————————
# 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
# 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
# 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
# 13131, 14644, 16269, 18010, 19871, 21856, 23969,
# 26214, 28595, 31116, 33781, 36594, 39559 etc.
# k = 10
task.octahedralNo(10)
end
main()
Output
1 6 19 44 85 146 231 344 489 670
// Scala program for
// Octahedral number
class OctahedralNumber()
{
def octahedralNo(k: Int): Unit = {
var n: Int = 1;
// Print all initial k octahedral number
while (n <= k)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
var result: Int = (n * (2 * (n * n) + 1)) / 3;
// Display calculated result
print(" " + result);
n += 1;
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: OctahedralNumber = new OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
}
Output
1 6 19 44 85 146 231 344 489 670
// Swift 4 program for
// Octahedral number
class OctahedralNumber
{
func octahedralNo(_ k: Int)
{
var n: Int = 1;
// Print all initial k octahedral number
while (n <= k)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
let result: Int = (n * (2 * (n * n) + 1)) / 3;
// Display calculated result
print(" ", result, terminator: "");
n += 1;
}
}
}
func main()
{
let task: OctahedralNumber = OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
main();
Output
1 6 19 44 85 146 231 344 489 670
// Kotlin program for
// Octahedral number
class OctahedralNumber
{
fun octahedralNo(k: Int): Unit
{
var n: Int = 1;
// Print all initial k octahedral number
while (n <= k)
{
// Formula
// n(2n²+1)
// —————————
// 3
// Calculate nth octahedral number
val result: Int = (n * (2 * (n * n) + 1)) / 3;
// Display calculated result
print(" " + result);
n += 1;
}
}
}
fun main(args: Array < String > ): Unit
{
val task: OctahedralNumber = OctahedralNumber();
// Octahedral number are
// —————————————————————————————————————————————
// 1, 6, 19, 44, 85, 146, 231, 344, 489, 670,
// 891, 1156, 1469, 1834, 2255, 2736, 3281, 3894,
// 4579, 5340, 6181, 7106, 8119, 9224, 10425, 11726,
// 13131, 14644, 16269, 18010, 19871, 21856, 23969,
// 26214, 28595, 31116, 33781, 36594, 39559 etc.
// k = 10
task.octahedralNo(10);
}
Output
1 6 19 44 85 146 231 344 489 670
Resultant Output Explanation
For k = 10, the first 10 octahedral numbers will be generated and displayed using the function octahedralNo(k). The output will be: 1 6 19 44 85 146 231 344 489 670
Time Complexity
The time complexity of this algorithm is O(k), where k is the number of octahedral numbers to be generated. Since we are using a loop to iterate from n = 1 to n = k and performing constant time operations within each iteration, the overall time complexity is directly proportional to k.
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