「プロジェクトオイラー問100」の編集履歴(バックアップ)一覧はこちら

プロジェクトオイラー問100」(2014/03/07 (金) 19:54:07) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Problem 100 「組み合わせの確率」 † 箱の中に15個の青い円盤と6個の赤い円盤からなる21個の色のついた円盤が入っていて, 無作為に2つ取り出すとき, 青い円盤2つを取り出す確率P(BB)は P(BB) = (15/21) × (14/20) = 1/2 であることがわかる. 無作為に2つ取り出すとき, 青い円盤2つを取り出す確率がちょうど1/2となるような次の組み合わせは, 箱が85個の青い円盤と35個の赤い円盤からなるときである. 箱の中の円盤の合計が1012 = 1,000,000,000,000を超えるような最初の組み合わせを考える. 箱の中の青い円盤の数を求めよ. 解法 なんとなく直感的に、行列演算で次に大きな数が出てくるのでは? と考えて。 [[a,b],[c,d]][3,1]+[e,f]=[15,6] [[a,b],[c,d]][15,6]+[e,f]=[85,35] 本当はもう一つ式が必要だけどこれで条件を満たすa,b,c,d,e,fを適当に試してみたらなんか解けました。 解き方が欠片も理屈だってないので情けない気分。 calc(B,R):-B+R>10^12, !, write([b,B,r,R]). calc(B,R):- B1 is B*5+2*R-2, R1 is B*2+R*1-1, write([B1,R1]),nl, calc(B1,R1). main100:- calc(3,1).
Problem 100 「組み合わせの確率」 † 箱の中に15個の青い円盤と6個の赤い円盤からなる21個の色のついた円盤が入っていて, 無作為に2つ取り出すとき, 青い円盤2つを取り出す確率P(BB)は P(BB) = (15/21) × (14/20) = 1/2 であることがわかる. 無作為に2つ取り出すとき, 青い円盤2つを取り出す確率がちょうど1/2となるような次の組み合わせは, 箱が85個の青い円盤と35個の赤い円盤からなるときである. 箱の中の円盤の合計が1012 = 1,000,000,000,000を超えるような最初の組み合わせを考える. 箱の中の青い円盤の数を求めよ. 解法 なんとなく直感的に、行列演算で次に大きな数が出てくるのでは? と考えて。 [[a,b],[c,d]][3,1]+[e,f]=[15,6] [[a,b],[c,d]][15,6]+[e,f]=[85,35] 本当はもう一つ式が必要だけどこれで条件を満たすa,b,c,d,e,fを適当に試してみたらなんか解けました。 解き方が欠片も理屈だってないので何か情けない気分。 calc(B,R):-B+R>10^12, !, write([b,B,r,R]). calc(B,R):- B1 is B*5+2*R-2, R1 is B*2+R*1-1, write([B1,R1]),nl, calc(B1,R1). main100:- calc(3,1).

表示オプション

横に並べて表示:
変化行の前後のみ表示: