12 角形を表すグラフィック数字は、12 角数と呼ばれます。中心の 12 角形の数値は、連続する 12 角形 (つまり、12 角形) のレイヤー内の中心の点とその点を囲む他の点によって表されます。
中央の 12 角数は、次の図でよりよく説明できます。
n=1 の場合、中心には点が 1 つだけあります。したがって、出力は 1 になります。
n=2 の場合、中心に 12 角形で囲まれた点があります。したがって、合計点数は 13 点となります。したがって、次の中央の 12 角形の数は 13 になります。
n=3 の場合、中心に 1 つの点があり、その周囲に 12 角形が続き、次に 24 点を含む 12 角形の連続した層が続きます。したがって、点の総数は 37 となり、これが次の中心の 12 角形の数になります。
同様に、すべての正の数 n についてこれが続きます。これを参照すると、最初の 12 角の数は 1、13、37、73、121、181…..
になります。この問題では、任意の正の数 n が与えられ、n 番目の中央の十二角形の数を出力する必要があります。
###例えば、### 入力- 2
出力- 13
- 5 を入力してください
出力- 121 この問題を解決するアルゴリズムは次のとおりです。
###アルゴリズム###n 番目の中心 12 角数を計算するには、問題でたどられるパターンを理解する必要があります。
中央の十二角形の数字の最初の数列は 1、13、37、73... であるため。それは、12 角形の層と中心の点の合計にすぎません。
0 から始まる連続した 12 角層のシーケンスを考えると、よりよく理解できます。
リーリーここから、n 番目の中心 12 角数は、0 から始まる n 項の A.P. の合計に他ならず、許容誤差は 12 と 1 であると考えることができます。
したがって、n 番目の中心 12 角数の公式は次のように表すことができます。
$$\mathrm{CDn=算術数列 (a=0\:and\:d=12)\:最初の n\:項と\:1}$$$$\mathrm{CD_n\:=\:\frac{n}{2}(2a\: \:(n-1)d)\: 1}$$
ここで、$\mathrm{CD_n}$ は n 番目の中心 12 角数です。
a は等差数列の最初の項で、0
です。
d は等差数列の許容値であり、12です。
さらに、式は次のように書くこともできます:$$\mathrm{CD_n\:=\:\frac{12n}{2}(n-1)\: \:1}$$
$$\mathrm{CD_n\:=\:6n(n-1)\: \:1}$$
翻訳せずに元のテキストを保持します
この方法では、上の式を使用して n 番目の中央十二角数を計算します。###方法###
この問題を解決するには、n 番目の中心 12 角数を計算する関数を作成するだけです。 上記の導出式を使用して、任意の n 個の正の数の n 番目の中心 12 角数を計算します。Example
以下は、上記のメソッドを C で実装したものです -
スペースの複雑さ
: O(1)、余分なスペースを占有しないためです。の公式を導き出しました。 この記事が、この問題に関するすべての概念を理解して明確にするのに役立つことを願っています。
以上が中心十二角形の数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。