Dodecagonal number
Dodecagonal numbers are a unique subset of polygonal numbers, representing the number of dots that can be arranged to form a regular dodecagon (a 12-sided polygon). In this article, we will dive into the concept of dodecagonal numbers, understand their formula, and explore a C program to generate the first 'k' dodecagonal numbers.
Dodecagonal Numbers and Their Formula
Dodecagonal numbers are derived from a simple formula: Dn = 5n^2 - 4n, where 'n' is the nth term of the series. This formula is used to calculate the nth dodecagonal number by plugging in the value of 'n.'
Explanation with an Example
Let's understand the formula with an example. Consider 'n = 5'. D5 = 5 * (5^2) - 4 * 5 D5 = 5 * 25 - 20 D5 = 125 - 20 D5 = 105 So, the 5th dodecagonal number is 105.
Pseudocode
To generate the first 'k' dodecagonal numbers, we can use the following pseudocode:
procedure dodecagonalNo(k)
for n from 1 to k do
result = 5 * n * n - 4 * n
output result
end for
end procedure
Algorithm Explanation
- Start the function 'dodecagonalNo(k)' with an input parameter 'k,' which represents the number of dodecagonal numbers to be generated.
- Initialize a loop that iterates from 'n = 1' to 'n = k.'
- Within the loop, calculate the dodecagonal number for the current 'n' using the formula 'result = 5 * n * n - 4 * n.'
- Output the calculated 'result' for each 'n.'
- End the loop.
- End the function.
Code Solution
Here given code implementation process.
// C Program for
// Dodecagonal number
#include <stdio.h>
void dodecagonalNo(int k)
{
// Print all initial k dodecagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
int result = (5 * (n * n) - 4 * n);
// Display Calculated value
printf(" %d", result);
}
}
int main()
{
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
dodecagonalNo(10);
return 0;
}
Output
1 12 33 64 105 156 217 288 369 460
// Java program for
// Dodecagonal number
public class DodecagonalNumber
{
public void dodecagonalNo(int k)
{
// Print all initial k dodecagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
int result = (5 * (n * n) - 4 * n);
// Display Calculated value
System.out.print(" " + result);
}
}
public static void main(String[] args)
{
DodecagonalNumber task = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
}
Output
1 12 33 64 105 156 217 288 369 460
// Include header file
#include <iostream>
using namespace std;
// C++ program for
// Dodecagonal number
class DodecagonalNumber
{
public: void dodecagonalNo(int k)
{
// Print all initial k dodecagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
int result = (5 *(n *n) - 4 *n);
// Display Calculated value
cout << " " << result;
}
}
};
int main()
{
DodecagonalNumber *task = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task->dodecagonalNo(10);
return 0;
}
Output
1 12 33 64 105 156 217 288 369 460
// Include namespace system
using System;
// Csharp program for
// Dodecagonal number
public class DodecagonalNumber
{
public void dodecagonalNo(int k)
{
// Print all initial k dodecagonal number
for (int n = 1; n <= k; ++n)
{
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
int result = (5 * (n * n) - 4 * n);
// Display Calculated value
Console.Write(" " + result);
}
}
public static void Main(String[] args)
{
DodecagonalNumber task = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
}
Output
1 12 33 64 105 156 217 288 369 460
package main
import "fmt"
// Go program for
// Dodecagonal number
func dodecagonalNo(k int) {
// Print all initial k dodecagonal number
for n := 1 ; n <= k ; n++ {
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
var result int = (5 * (n * n) - 4 * n)
// Display Calculated value
fmt.Print(" ", result)
}
}
func main() {
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
dodecagonalNo(10)
}
Output
1 12 33 64 105 156 217 288 369 460
<?php
// Php program for
// Dodecagonal number
class DodecagonalNumber
{
public function dodecagonalNo($k)
{
// Print all initial k dodecagonal number
for ($n = 1; $n <= $k; ++$n)
{
// Formula
// (5n² - 4n )
// Calculate nth dodecagonal number
$result = (5 * ($n * $n) - 4 * $n);
// Display Calculated value
echo(" ".$result);
}
}
}
function main()
{
$task = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
$task->dodecagonalNo(10);
}
main();
Output
1 12 33 64 105 156 217 288 369 460
// Node JS program for
// Dodecagonal number
class DodecagonalNumber
{
dodecagonalNo(k)
{
// Print all initial k dodecagonal number
for (var n = 1; n <= k; ++n)
{
// Formula
// (5n² - 4n)
// Calculate nth dodecagonal number
var result = (5 * (n * n) - 4 * n);
// Display Calculated value
process.stdout.write(" " + result);
}
}
}
function main()
{
var task = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
main();
Output
1 12 33 64 105 156 217 288 369 460
# Python 3 program for
# Dodecagonal number
class DodecagonalNumber :
def dodecagonalNo(self, k) :
n = 1
# Print all initial k dodecagonal number
while (n <= k) :
# Formula
# (5n² - 4n)
# Calculate nth dodecagonal number
result = (5 * (n * n) - 4 * n)
# Display Calculated value
print(" ", result, end = "")
n += 1
def main() :
task = DodecagonalNumber()
# Dodecagonal number are
# —————————————————————————————————————————————
# 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
# 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
# 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
# 3808, 4089, 4380, 4681, 4992, 5313, 5644,
# 5985, 6336, 6697, 7068 ... etc
# Test k = 10
task.dodecagonalNo(10)
if __name__ == "__main__": main()
Output
1 12 33 64 105 156 217 288 369 460
# Ruby program for
# Dodecagonal number
class DodecagonalNumber
def dodecagonalNo(k)
n = 1
# Print all initial k dodecagonal number
while (n <= k)
# Formula
# (5n² - 4n)
# Calculate nth dodecagonal number
result = (5 * (n * n) - 4 * n)
# Display Calculated value
print(" ", result)
n += 1
end
end
end
def main()
task = DodecagonalNumber.new()
# Dodecagonal number are
# —————————————————————————————————————————————
# 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
# 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
# 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
# 3808, 4089, 4380, 4681, 4992, 5313, 5644,
# 5985, 6336, 6697, 7068 ... etc
# Test k = 10
task.dodecagonalNo(10)
end
main()
Output
1 12 33 64 105 156 217 288 369 460
// Scala program for
// Dodecagonal number
class DodecagonalNumber()
{
def dodecagonalNo(k: Int): Unit = {
var n: Int = 1;
// Print all initial k dodecagonal number
while (n <= k)
{
// Formula
// (5n² - 4n)
// Calculate nth dodecagonal number
var result: Int = (5 * (n * n) - 4 * n);
// Display Calculated value
print(" " + result);
n += 1;
}
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: DodecagonalNumber = new DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
}
Output
1 12 33 64 105 156 217 288 369 460
// Swift 4 program for
// Dodecagonal number
class DodecagonalNumber
{
func dodecagonalNo(_ k: Int)
{
var n: Int = 1;
// Print all initial k dodecagonal number
while (n <= k)
{
// Formula
// (5n² - 4n)
// Calculate nth dodecagonal number
let result: Int = (5 * (n * n) - 4 * n);
// Display Calculated value
print(" ", result, terminator: "");
n += 1;
}
}
}
func main()
{
let task: DodecagonalNumber = DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
main();
Output
1 12 33 64 105 156 217 288 369 460
// Kotlin program for
// Dodecagonal number
class DodecagonalNumber
{
fun dodecagonalNo(k: Int): Unit
{
var n: Int = 1;
// Print all initial k dodecagonal number
while (n <= k)
{
// Formula
// (5n² - 4n)
// Calculate nth dodecagonal number
val result: Int = (5 * (n * n) - 4 * n);
// Display Calculated value
print(" " + result);
n += 1;
}
}
}
fun main(args: Array < String > ): Unit
{
val task: DodecagonalNumber = DodecagonalNumber();
// Dodecagonal number are
// —————————————————————————————————————————————
// 1, 12, 33, 64, 105, 156, 217, 288, 369, 460, 561,
// 672, 793, 924, 1065, 1216, 1377, 1548, 1729,
// 1920, 2121, 2332, 2553, 2784, 3025, 3276, 3537,
// 3808, 4089, 4380, 4681, 4992, 5313, 5644,
// 5985, 6336, 6697, 7068 ... etc
// Test k = 10
task.dodecagonalNo(10);
}
Output
1 12 33 64 105 156 217 288 369 460
Time Complexity
The time complexity of this algorithm is O(k) because the loop iterates 'k' times to generate the 'k' dodecagonal numbers. The calculations inside the loop are constant time operations, so they do not significantly affect the overall time complexity.
Output Explanation
When we test the function with 'k = 10' (dodecagonalNo(10)), it will generate the first 10 dodecagonal numbers and print them as follows: 1 12 33 64 105 156 217 288 369 460
Finally
Dodecagonal numbers are an interesting sequence of polygonal numbers that have various applications in mathematics and other fields. In this article, we explored the concept of dodecagonal numbers, their formula, and a C program to generate the first 'k' dodecagonal numbers. We also provided a detailed explanation of the algorithm and the time complexity of the code. By understanding dodecagonal numbers, we gain valuable insights into mathematical patterns and relationships.
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