正N角形の頂点を結ぶ正M角形の合計数がNになるようなNを求める。
正N角形も数に勘定する。
例えば正六角形の場合,正三角形が2つと正六角形が1つで,合計数は3になる。
正N角形の頂点をM個結んで作るM角形が正M角形になるには,直感的にNがMで割り切れる場合だってことが判る。
取り出す頂点の数を1〜Nまで増やしていき,割り切れた場合の商の合計がNに等しくなる場合を出力する。
久々の超ショートプログラムだ。
#include "puzutl.h" int main( int argc, cstring argv[]) { for( int p=3; p< 100; p++) { int n = 0; for( int i=3; i<= p; i++) { … } if( p == n) ps( "Find,N:%d\n", p); } return 0; }
Nを3〜100まで廻して結果は1件出力されました。
マシンを入れ替えてしばらくMS-IMEを使っていたが,体がATOKになじんでしまっていたようで,変換に違和感を感じるようになった。
使っていたのはATOK12で随分と古いので最新ATOKをオンラインで購入する。オンラインで購入できるのは便利。
やはりATOKの変換の方が自分には合っているようだ。違和感が無くなった。
解速度
即