私は最近、ライプニッツの公式を使用して Pi を計算する関数を作成することである、" What's you more物議を醸しているプログラミングの意見"に私のお気に入りのインタビュー ホワイトボード コーディングの質問の 1 つを投稿しました。
さまざまな方法でアプローチでき、終了条件は少し考えなければならないので、興味深いコード ゴルフの質問になるのではないかと思いました。最短コードが勝つ!
関数 4 * (1 - 1/3 + 1/5 - 1/7 + ...) を使用して Pi を推定できることを考えると、項が多いほど精度が高くなり、Pi を 0.00001 以内で計算する関数を作成します。
編集: 2008 年 1 月 3 日
コメントで示唆されているように、私は終了条件を 0.00001 以内に変更しました。それが私が本当に意味したことです (小数点以下 5 桁の精度は丸めのためにはるかに難しいため、インタビューでそれを尋ねたくはありませんが、0.00001 以内は終了条件の理解と実装が容易になります)。
また、コメントに答えるために、私の意図は、ソリューションが反復回数を計算するか、十分に完了したかを確認することだったと思いますが、反復回数を事前に計算してその数を使用することを妨げるものは何もありません。人々が何を思いつくかを見るために、私は本当に興味を持って質問をしました。