「プロジェクトオイラー解説問199」の編集履歴(バックアップ)一覧はこちら
プロジェクトオイラー解説問199 - (2013/12/10 (火) 10:57:04) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*Problem 199 「反復円充填」 †
----
**問題
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%20199
3つの半径の等しい円が, 1つのもっと大きい円の中にあり, 各円は他の円とお互い接している. ただし中の円はお互いが重ならない. 4つのすき間があり, これを繰り返し接する円で埋めていく.
#ref(e199.gif)
各ステップで, 全てのすき間にそれぞれ最大の円を置いていき, 結果として次のステップにはさらにすき間が増えていく. 3ステップ後には上の図のようになる. 108のすき間ができ, 円で埋められていない面積の比率は10進8桁に四捨五入して 0.06790342 となる.
10ステップ後に円で埋まっていない面積の比率はいくらか?
10進数8桁に四捨五入し, x.xxxxxxxx という形で回答を入力せよ.
----
解法
ただいま準備中
まず
(一番大きな円の面積-円の面積の合計)/一番大きな円の面積が答えなので、
計算するために描かれる円の面積の合計を考えてみます。
この問題は図をよく見て規則性を探すことで綺麗に解くことができます。
まず最初の3つの円の面積は幾何計算で簡単に求まります。
つぎにそれ以外の円の面積を求めましょう。
例として示された図を色分けしてみます。
#ref(e199_2.gif)
少し配色センスを疑われるかもしれませんがわかりやすさ重視で塗りました。
-A ピンクは一番大きな円に内接し、2つの互いに外接する円の間にその2つの円と外接する形で新しい小さな円が描かれています。
-B 水色は3つの互いに外接した円の間にそれら3つと外接する形でより小さな円が描かれています。
そして図は最初の3つの円を除きこの2種類しかありません。
Aをoutな円。
Bをinな円とします。
次に生成される円の生成パターンを考えてみます。
outの円が描かれた場合そのoutから派生して描かれる円はoutな円がその左右に、円の中心方向にinな円が新しく派生します。
またinの円はinの円の周りに3つinな円が描かれます。
*Problem 199 「反復円充填」 †
----
**問題
http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%20199
3つの半径の等しい円が, 1つのもっと大きい円の中にあり, 各円は他の円とお互い接している. ただし中の円はお互いが重ならない. 4つのすき間があり, これを繰り返し接する円で埋めていく.
#ref(e199.gif)
各ステップで, 全てのすき間にそれぞれ最大の円を置いていき, 結果として次のステップにはさらにすき間が増えていく. 3ステップ後には上の図のようになる. 108のすき間ができ, 円で埋められていない面積の比率は10進8桁に四捨五入して 0.06790342 となる.
10ステップ後に円で埋まっていない面積の比率はいくらか?
10進数8桁に四捨五入し, x.xxxxxxxx という形で回答を入力せよ.
----
解法
ただいま準備中
まず
(一番大きな円の面積-円の面積の合計)/一番大きな円の面積が答えなので、
計算するために描かれる円の面積の合計を考えてみます。
この問題は図をよく見て規則性を探すことで綺麗に解くことができます。
まず最初の3つの円の面積は幾何計算で簡単に求まります。
つぎにそれ以外の円の面積を求めましょう。
例として示された図を色分けしてみます。
#ref(e199_2.gif)
少し配色センスを疑われるかもしれませんがわかりやすさ重視で塗りました。
-A ピンクは一番大きな円に内接し、2つの互いに外接する円の間にその2つの円と外接する形で新しい小さな円が描かれています。
-B 水色は3つの互いに外接した円の間にそれら3つと外接する形でより小さな円が描かれています。
そして図は最初の3つの円を除きこの2種類しかありません。
Aをoutな円。
Bをinな円とします。
次に生成される円の生成パターンを考えてみます。
outの円が描かれた場合そのoutから派生して描かれる円はoutな円がその左右に、円の中心方向にinな円が新しく派生します。
またinの円はinの円の周りに3つinな円が描かれます。
outな円の例。
一番大きな円をR0としR1とR2の間にR3が描かれたとします。
次の円のサイズを計算する再帰関数を考えると