Home >Backend Development >C++ >central dodecagon number
The graphic numbers depicting a dodecagon are called dodecagonal numbers. The central dodecagon number is represented by a point at the center and other points surrounding that point in a layer of continuous dodecagons (that is, 12-sided polygons).
The central dodecagon number can be better explained by the following diagram.
For n=1, there is only one point in the center. So the output is 1.
For n=2, there is a point in the center surrounded by a dodecagon. Therefore, the total number of points will be 13. So the next central dodecagon number will be 13.
For n=3, there will be a single point in the center, followed by a dodecagon surrounding it, and then the next consecutive layer of dodecagons containing 24 points. Therefore, the total number of points will be 37, which will be the next central dodecagon number.
Similarly, this will be followed for every positive number n. Referring to this, the first few dodecagon numbers will be 1, 13, 37, 73, 121, 181…..
In this problem, we will be given any positive number n and need to print the nth central dodecagon number.
For example,
Enter - 2
Output - 13
Enter - 5
Output - 121
The following is the algorithm to solve this problem.
To calculate the nth central dodecagon number, we need to figure out the pattern followed in the problem.
According to the concept of central dodecagon number, it is represented by a point in the center, followed by successive layers of dodecagons. The successive layers of dodecagons are 12, 24, 36, 48... If we look closely at the pattern, it forms an arithmetic sequence with a tolerance of 12.
Since the first few sequences of central dodecagon numbers are 1, 13, 37, 73…. It is nothing more than the sum of the dodecagon layers and a point in the center.
We can understand it better if we consider a sequence of consecutive dodecagonal layers starting with 0.
0, 12, 24, 36, 48. For n=1, the centred dodecagonal number is 1 which is 0+1. For n=2, the centred dodecagonal number is 13 which is 0+12+1. For n=3, the centred dodecagonal number is 37 which is 0+12+24+1.
From here we can think that the nth central dodecagon number is nothing but the sum of A.P. of n terms starting from 0, with the tolerance being 12 and 1.
So the formula of the nth central dodecagon number can be expressed as,
$$\mathrm{CDn=arithmetic sequence (a=0\:and\:d=12)\:the first n\:terms and\:1}$$
$$\mathrm{CD_n\:=\:\frac{n}{2}(2a\: \:(n-1)d)\: 1}$$
Here, $\mathrm{CD_n}$ is the nth central dodecagon number
a is the first term of the arithmetic sequence, which is 0
d is the tolerance of the arithmetic sequence, which is 12
Further, the formula can be written as:
$$\mathrm{CD_n\:=\:\frac{12n}{2}(n-1)\: \:1}$$
$$\mathrm{CD_n\:=\:6n(n-1)\: \:1}$$
Keep the original text without translationWe will use the above formula to calculate the nth central dodecagon number in our method.
To solve this problem, we simply create a function to calculate the nth central dodecagon number.
We will use the derived formula above to calculate the nth central dodecagon number for any n positive numbers.
Return the calculated value, which will be our desired output.
The following is the implementation of the above method in C -
#include <iostream> #include<bits/stdc++.h> using namespace std; //function to calculate the nth centred dodecagonal number int CDn(int N){ int ans= 6 * N * (N-1) + 1; //used to store nth centred dodecagonal number value return ans; //return the answer } int main(){ int N=8; cout<<CDn(N)<<endl; N=6; cout<<CDn(N)<<endl; N=12; cout<<CDn(N)<<endl; return 0; }
337 181 793
Time complexity: O(1), because constant time is required.
Space Complexity: O(1), because we don’t take up any extra space.
In this article, we solve the problem of printing the nth centered dodecagon number. We learned the concept of centered dodecagon numbers and derived the formula for the nth number,
I hope you found this article helpful in understanding and clarifying all the concepts regarding this issue.
The above is the detailed content of central dodecagon number. For more information, please follow other related articles on the PHP Chinese website!