2005-06-22から1日間の記事一覧

思考過程

Pythonで書くことを考える。 単純にリストを出すだけなら、適当な r について [(x, y) for x in range(1, r) for y in range(1, r) if x**2 + y**2 < r**2]で済む話だ。しかし、「原点から近い順」というのが曲者である。普通のループの回し方じゃダメなんだ…

円の内部にある格子点の数え上げ

座標平面上で、原点を中心とする半径 r の円を考える(x^2 + y^2 = r^2)。 上記の円の内部、かつ第一象限である格子点を、原点から近い順に数え上げよ。

思考過程2

全部計算したあとに並び替えるのはちょっと頭が悪すぎる。できれば、 計算しながら並べる 小さい順に計算する のどちらかをやりたい。前者のほうが簡単そうに見えるなぁ。