>>247
kπ に一番近い整数を求めたい訳ですが、数直線上に kπ を印し、そこから左に進んで
最初に見つかる整数か、そこから、右に進んで最初に見つかる整数 のどちらかです。
ガウス記号を使うと、前者は、[kπ]で表せるし、後者は、[kπ+1]です。
切り捨て関数といえるガウス記号を使う限りでは、[kπ-1]は考慮する必要がありません。

もし、ガウス記号ではなく、四捨五入関数を使うのであれば、それに放り込んだものが、最も近い整数だし、
切り上げ関数Ceil()を使うのであれば、Ceil(kπ)か、Ceil(kπ-1)のどちらかということになります。


>>243
アイデアを拝借して、プログラムを組んでみました。
分数の目標となる範囲をあらかじめ設定し、仮に設定した分数の値が大きすぎれば、分母を大きくし、
小さすぎれば、分子を大きくし、...を繰り返し、範囲に収まる分数を探すという方法です。

http://codepad.org/JrigZqIn

242の方法は、分母 n までチェックする場合、2n の候補を調べていましたが、
この方法は、あと、もう一工夫入れることで、(3/2)n 位の候補のチェックで済みそうで、
よりよいアルゴリズムだと思います。