中心十五边形数
问题包括针对任何输入数字 N 打印第 N 个中心十五边形数。
中心十五边形数是一种可以以图形形式表示的数字,该图形的中心有一个点,周围是十五边形(即 15 边形)的连续层。这里,十五边形的连续层表示围绕中心点的第一层将是 15 边形,下一层将是 30 边形,然后是 45 边形,依此类推。
我们可以通过下图了解中心十五边形的概念。
第一个中心十五边形数字用中心的一个点表示。因此,第一个数字将是 1。
下一个中心十五边形数可以表示为中心的一个点,后面是一层十五边形(15 边形)。因此,第二个中心十五边形数将是 15+1=16。
第三个中心十五边形数是 46,因为它以图形的形式表示,中心有一个点,周围是连续的十五边形层。十五边形的连续层表明第一层将是 15 边形,第二层将是 30 边形。
我们可以按照相同的模式计算连续的中心十五边形数。按照图中的规律计算出来的前几个中心十五边形数是1、16、46、91、151、226、316、421、541……
我们将得到任意正整数N,我们需要打印出与之对应的第N个中心十五边形数。
示例−
输入:N=5 输出:151
解释 − 第5个中心十五边形数是151,表示为中心的一个点,周围是四层连续的十五边形,总和为1+15+30+45+60=151。
输入:N=9 输出:541
解释 - 第 9 个中心十五边形数是 541。
让我们看看算法来找出第 N 个中心十五边形数。
算法
我们需要观察中心十五边形数序列中遵循的模式。当以图形形式表示时,每个第 N 个中心十五边形数都被 (N-1) 个连续的十五边形层包围。十五边形的连续层数顺序为 15、30、45、60、75…..
第一个中心十五边形数被 0 层十五边形包围,因为它只是用中心的一个点表示。所以我们可以说第 N 个中心十五边形数是十五边形的 (N-1) 个连续层数之和 + 1。
由于十五边形连续层的顺序形成一个 A.P.,其第一项为 a=15,公差为 d=15。因此,第 N 个中心十五边形数可以计算为 −
$$\mathrm{(centered \: pentadecagonal)_N=sum \: of \: (N − 1)successive \: levels \: of \: pentadecagon + 1}$$
$$\mathrm{sum \: of \: N \: ters \: of \: AP =\frac{N}{2}(2*a+(N − 1)d)}$$
其中,a= AP 的第一项
$$\mathrm{d= common \: difference \: of \: AP}$$
使用计算第 N 个中心十五边形数的公式,
$$\mathrm{(centered \: pentadecagonal)_N=\frac{(N − 1)}{2}(2*15+(N − 2)*15)+1}$$
$$\mathrm{=\frac{15*(N − 1)}{2}(2+N − 2)+1}$$
$$\mathrm{=\frac{15*N*(N − 1)}{2}+1}$$
这是使用简单数学得出的任何第 N 个中心十五边形数的公式。我们将在解决问题的方法中使用这个公式。
方法
在 C++ 中应用公式计算第 N 个中心十五边形数的步骤 -
我们将创建一个函数来计算第 N 个中心十五边形数。
初始化一个名为 ans 的变量,将其作为 long long int 来存储 N 值较大的第 N 个中心十五边形数。
在算法中使用派生公式来计算数字。
打印计算出的数字,这将是我们所需的输出。
该方法的 C++ 代码 -
示例
//C++ 代码用于打印第 N 个中心十五边形数 #include<bits/stdc++.h> using namespace std; //函数用于给出第 N 个中心十五边形数 long long int Nth_number(int N){ long long int ans= (15 * N * (N-1))/2 + 1; //存储第 N 个数 return ans; //返回第 N 个数 } int main(){ int N; N=12; cout<<"第 N 个中心十五边形数为 "<<Nth_number(N)<<endl; //调用函数 N=19; cout<<"第 N 个中心十五边形数为 "<<Nth_number(N)<<endl; }
输出
第 N 个中心十五边形数为 991 第 N 个中心十五边形数为 2566
时间复杂度 − O(1) ,计算第 N 个数需要花费恒定的时间。
空间复杂度 − O(1) ,我们没有使用任何额外的空间。
结论
本文讨论了中心十五边形数背后的概念。我们利用中心十五边形数序列中的模式,找到了计算任意正数 N 的第 N 个中心十五边形数的公式。我们想出了一种使用导出公式在 C++ 中打印第 N 个中心十五边形数的有效方法。
希望您阅读本文后,与该主题相关的概念已经清晰。