Polygon of Polygons

2 secs 1024 MB
magurofly's icon magurofly

NN 角形から頂点を kk 個選び、正 kk 角形をつくるには、選んだ頂点が等間隔で並んでいる必要があります。 つまり、 kkNN の約数になります。

kk を決めたとき、選ぶ頂点を 00 個から Nk1\frac{N}{k}-1 個ずらすことができるので、選び方は Nk\frac{N}{k} 通りあります。

よって、答えは kNk3Nk\displaystyle\sum_{\substack{k | N \\ k \ge 3}} \frac{N}{k} となります。

約数の列挙は O(N)O(\sqrt{N}) で可能であり、計算量は O(N)O(\sqrt{N}) となります。