面白い問題おしえて〜な 28問目
■ このスレッドは過去ログ倉庫に格納されています
>>27 f(x) = Σc[j]x^j とおき Σ[i] a[i] f(x+s[i]) = 0 とする。 Σa[i] c[j] (x + s[i])^j = 0 である。 n-k次の係数は Σa[i] c[n] C[n k] s[i]^k +Σa[i] c[n-1] C[n-1 k-1] s[i]^(k-1) +Σa[i] c[n-2] C[n-2 k-2] s[i]^(k-2) …… +Σa[i] c[n-k] C[n-k 0] s[i]^(k-k) でこれが0であるから帰納的に Σa[i] s[i]^k = 0 (k=0,1,…,n) である。 ここでVandelmonde(s[i]^k)の行列式は零でないからa[i] = 0である。 >>25 もし>>13 があってたら △PAB=√2±√(4-2√2) 三日月AB = π/2-√2 で答えが π/2±√(4-2√2) になるやん? 中学受験の答えがこんなんになるはずないでしょ? 半径が2√2でも答え2倍になるだけだからありえへんでしょ? やり直し。 >>27 nについての帰納法で。 n=1 のとき (略) n-1 に対して成立したとする。 n次の多項式f(x)に対し、因数定理より f(x+) - f(x) = g(x), g(x) は 高々n-1次の多項式で、係数はf(x)の場合と同様。 いま Σ[k=0,n] c_k f(x+s_k) = 0, とする。x^n の係数を比べて Σ[k=0,n-1] c_k + c_n = 0, だから 0 = Σ[k=0,n] c_k f(x+s_k) = Σ[k=0,n-1] c_k {f(x+s_k) - f(x+s_n)} = Σ[k=0,n-1] c_k (s_k-s_n)g(x+s_k) 帰納法の仮定により g(x+s_k) は1次独立。(k<n) ∴ c_k (s_k - s_n) = 0, (k<n) 題意により s_k - s_n ≠ 0, (k<n) ∴ c_k = 0 (k<n) ∴ c_n = -Σ[k=0,n-1] c_k = 0, ∴ f(x+s_k) も1次独立。(0≦k≦n) >>30 >f(x+) - f(x) = g(x), これあかんやろ? f(x+) - f(x)は凾ナくくれるけど竸2以上の項があるからくくったg(x)にも凾ェのこるからg(x)は凾ノ依存する。 つまり正確には f(x+) - f(x) = g(,x) になる。 すると >= Σ[k=0,n-1] c_k (s_k-s_n)g(x+s_k) のところは Σ[k=0,n-1] c_k (s_k-s_n)g(s_k-s_n,x+s_k) になりg(s_k-s_n,x+s_k)は単純に同一のn-1次式をシフトしただけの組ではない。 なお、>>32 の各図形について最大であるかどうかの証明はしていません。 何回か試行して他に良い解がなく、かつ対称性が高いものを採用しています。 ★★★For those who fight red dogs, weather manipulation is a daily routine. Kn▲owing weather is always with malice, we can reduce the risks.★★★▲ この掲示板(万有サロン)▲に優秀な書き込みをして、総額148万円の賞金をゲットしよう!(*^^)v ▲ ▲ http://jbbs.livedoor.jp/study/3729/ →リンクが不良なら、検索窓に入れる! >>29 一瞬√2が消えるのにまた出てくるジレンマ。 前>>25 問題文の「正方形に入る」は、「正方形が入る」なのかな? いずれにしろ半径が√2倍になったら面積は2倍。出題者の考えを聴こう。これ以上やってもおもんない問題になる。 @方程式 x⁴+y⁴=6z⁴+12w⁴ は, (x,y,z,w)=(0,0,0,0)以外の有理数解を持たないことを示せ. AXをk+m次正定値エルミート行列とせよ. X=[[ A, C], [C^*, B] ] とブロック行列表示せよ. ここで, Aはk次行列, Bはm次行列, Cはk×m行列であり, C^*はCの随伴行列である. このとき, det(X) ≦ det(A) det(B) を示せ. >>36 @ても足もでない。 ヒントおながいします。 広場に3つの扉がある。 扉の見た目はいずれも同じ。 ひとつは「一瞬で天国に行ける」扉 ひとつは「1日の間ずっと広場から出られない」扉 ひとつは「2日の間ずっと広場から出られない」扉 扉は、開けた瞬間に効果があらわれる。 扉の効果があらわれると、すぐに扉は閉じられ位置がランダムにシャッフルされる。 そのため、前回の位置にある扉が今回も同じとは限らない。 さて、この広場を訪れた者は平均何日で天国にたどり着けるだろうか? 平均 A 日で天国に行けるとすると A = 1/3・0 + 1/3・(A + 1) + 1/3・(A + 2)。 ∴ A = 3。 〔問題2926〕 mを正の整数とする。 θを 0≦θ≦π/2 の範囲で動かすとき、次の関数の値域を求めよ。 f_m(θ) = √{1 -(sinθ)^m} + √{1 -(cosθ)^m}. http://suseum.jp/gq/question/2926 〔問題2931〕 ΔABCにおいて、 辺ABを f:(1-f), g:(1-g) に内分する点をそれぞれ X,Y 辺BCを f:(1-f), g:(1-g) に内分する点をそれぞれ Z,W 辺CAを f:(1-f), g:(1-g) に内分する点をそれぞれ U,V とする。(0<f≠g<1) このとき ΔXZU と ΔYWV が相似であれば、ΔABCは正三角形であることを示せ。 http://suseum.jp/gq/question/2931 〔問題2937〕 僊BCで AB=7,AC=4,また辺BC上の1点Dについて AD=7/2 である。 BD、CD がともに正の整数であるものとして、BDの長さを求めよ。 http://suseum.jp/gq/question/2937 〔問題2938〕 3個のサイコロA,B,Cをこの順で1度づつ振る。 いちばん小さい出目が2のとき、いちばん大きい出目が4である確率はいくらか? http://suseum.jp/gq/question/2938 >>41 エレガントな解だなぁ。 早速、シミュレーションしてみました。 > door <-function(){ + stay=x=sample(0:2,1) + while(x!=0){ + x=sample(0:2,1) + stay=append(stay,x) + } + sum(stay) + } > re=replicate(1e3,mean(replicate(1e3,door()))) > summary(re) Min. 1st Qu. Median Mean 3rd Qu. Max. 2.606 2.914 3.003 3.001 3.083 3.427 サイコロをふって1の目がでたら終了。 終了までにでた目の総和の期待値はいくらか? >>47 自信がないけど x=1/6*1+5/6*(x+4)を解いてx=21でいいんだよな? >>45 3/15=1/5 x=[[a,b,c]|a<-[1..6],b<-[a..6],c<-[b..6],minimum[a,b,c]==2] length x --15 length $ elemIndices 4 (map maximum x) -- 3 >>49 これは間違い、組み合わせじゃなくて順列にしなくちゃいけなかった。 x=[[a,b,c]|a<-[1..6],b<-[1..6],c<-[1..6],minimum[a,b,c]==2] length x -- 61 length $ elemIndices 4 (map maximum x) --12 12/61 >>47 サイコロをふって1の目がでたら終了。 (1)終了までにでた目の総和の期待値はいくらか? (2)総和が50以上になる確率はいくらか? (2)はどうやって解けばいいんだろ? 場合分けして1〜49まで場合分けして余事象でだすしかないのだろうか? >>51 そうだと思うけど… SageMath: ,var x f = (x/6)/(1-(x^2+x^3+x^4+x^5+x^6)/6) 1-f.taylor(x,0,49).subs(x=1) 2887816213848518927/28430288029929701376 0.101575341438975 >>51-52 おおよそなら、1回1以外の目が出るごとに平均して総和が4大きくなるから、 総和が50以上になるのは12〜13回1以外の目がでればいい。 (5/6)^12 = 0.112156654784615 (5/6)^13 = 0.0934638789871792 近似としてはまあまあか? >>54 なるほど! そうすればできるね。 ,var n R.<x> = CC['x'] g = (x/6)/(1-(x^2+x^3+x^4+x^5+x^6)/6)/(1-x) #x^nの係数は総和がn以下になる確率 pfd = g.partial_fraction_decomposition() p = sum(c.numerator()/c.denominator().subs(x=0)*(-1/c.denominator().subs(x=0))^n for c in pfd[1]) #pは総和がn以下になる確率 sage: p -0.924602908258674*e^(-0.0450727249412852*n) - (0.0141317451913899 + 0.0178673357104935*I)*e^(-(0.329151925064039 - 1.18446726809051*I)*n) - (0.0141317451913899 - 0.0178673357104935*I)*e^(-(0.329151925064039 + 1.18446726809051*I)*n) - 0.0172163389039878*e^(-(0.361410021965218 - 3.14159265358979*I)*n) - (0.0149586312272785 + 0.00913725707805078*I)*e^(-(0.363486436096737 - 2.18509474953750*I)*n) - (0.0149586312272785 - 0.00913725707805078*I)*e^(-(0.363486436096737 + 2.18509474953750*I)*n) + 1.00000000000000 sage: 1-p.subs(n=49) 0.101575341438976 + 5.79026428787119e-24*I 能力的についていけない、コードと議論なんだけどRでのシミュレーション解(1000回の頻度の1000回平均値)と一致しております。 > dice = function(){ + total=x=sample(6,1) + while(x!=1){ + x=sample(6,1) + total=total+x + } + total + } > re50=replicate(1e3,mean(replicate(1e3,dice()>=50))) > summary(re50) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0740 0.0950 0.1010 0.1013 0.1070 0.1350 >>56 生成関数をTaylor展開で1を代入は場合分けしているのも同然だし、nが変わるごとn回微分するのはコストがかかる。 部分分数分解すればn乗ですむ、というのが>>54 の指摘。 生成関数の部分分数分解は基本ともいえるのにでなかったのが恥ずかしい。 結局有理関数のテイラー展開の係数だからn項間関係の漸化式とけばいいんだね。 Prelude Data.List Data.Ratio> let ns n d = map head $ iterate(¥p -> (++[0] )$ tail $ zipWith (-) (p ++ (repeat 0)) $ map ((*) $ (head p)/(head d)) d) n Prelude Data.List Data.Ratio> fromRational $ (!!49) $ ns [0,1%6] [6%1,-6%1,-1%1,0,0,0,0,1%1] 0.8984246585610248 Prelude Data.List Data.Ratio> 1 - it 0.10157534143897518 訂正 Prelude Data.List Data.Ratio> let ns n d = map ((/(head d)).head) $ iterate(¥p -> tail $ zipWith (-) (p ++ (repeat 0)) $ map ((*) $ (head p)/(head d)) d) n Prelude Data.List Data.Ratio> fromRational $ (!!49) $ ns [0,1%1] [6%1,-6%1,-1%1,0,0,0,0,1%1] 0.8984246585610248 Prelude Data.List Data.Ratio> 1 - it 0.10157534143897518 答えが1/4じゃなくて10/49なのはトランプ問題 では、答えが4/25じゃなくて20/61なのは何問題? >>59 >51,56です。 いつも簡潔なHaskellのコードをありがとうございます。 自分にはか初見and/or失念のコマンドを調べながら勉強してます。 >>57 すみません。 そもそもテイラー展開が出てくる理屈からしてわからないものです。 答え載せてるんだから、コレよりいい解答を見つけよが題意じゃね? 答えだけ書いてどうする? しかも十分性成り立ってないし。 >>51 総和の分布ってパラメータ1/21の指数分布になるみたいだな。 グラフにするとそんな感じだけど証明はわからんのであしからず。 >>44 △ABC∽△DACになるようにしたら相似比2:1だからBC=8, CD=2 となってBD=6。 それしかないかを調べるにはどうするのがよいだろうか? >>64 生成関数のべき級数展開をx^49の項まで求めているだけです。 ここでの生成関数はx^nの係数が総和がnになる確率です。 >>44 AB=7, AC=4, AD=7/2, BC < AB + AC = 7 + 4 = 11, BC = BH + CH = √(AB^2-AH^2) + √(AC^2-AH^2) ≧ √(AB^2-AD^2) + √(AC^2-AD^2) = (7√3 + √15)/2 = 7.99867 ∴ 8 ≦ BC ≦ 10 >>61 >>45 の答えは12/61だけど、20/61になるような改題は作れる? 前>>65 △ABCを描き、BC上にAD=7/2なるDをとると、 x=BDの条件は、 AB-AD<BD<AB+AC 7-7/2<x<7+4 よってBDは4、5、6、7、8、9、10のいずれか。 AからBCに垂線AHを引くと、 AC^2-CH^2=AB^2-BH^2 =AD^2-DH^2 4^2-(y+z)^2=7^2-(x+y)^2 =(7/2)^2-y^2 16-(y+z)^2=49-(x+y)^2 =49/4-y^2 xとyについて解くと、 196-4(x^2+2xy+y^2)=49-4y^2 196-4x^2-8xy=49 8xy=147-4x^2 y=147/32-2=83/32 yとzについて解くと、 BD=4のとき、y=DH、z=CH-yとすると、 DC=DH+HC=y+z=83/16+z =83/16+CH-y ――中略――――― BD=4、5、6はいずれもNG ――中略――――― x=BD=7のとき、 49/4-y^2=7^2-(7-y)^2 =49-(49-14y+y^2) 49/4=14y y=7/8 CH=√{16-(49・15/64)} ={√(1024-735)}/8 =(√289)/8 =17/8 y=DH=√{(7/2)^2-(7√15/8)^2} =7/8 BH=√{7^2-(7√15/8)^2} =49/8 BD=BH+DH=49/8+7/8=56/8=7 CD=CH-DH=17/8-7/8=10/8=5/4 BD=7はNG x=BD=8、9、10は未調査。 この中にある可能性がある。 そもそも答え出すだけなら (x^2+3.5^2-7^2)/7x=-(y^2+3.5^2-4)^2/7y 3.5<x<10.5, 0.5<y<7.5 の整数解出すだけだから問題としては大して難しいわけでもない。 エレガントなやつを求められてる。 前>>72 BDが整数のときCDも整数になったらそれが答えなんだが、BD=8、9、10でもならなんだ。 しらみ潰しに調べてしらみを潰しきった。 ∴解なし または計算間違い。 おそらく同じ図を使ったときAH辺り同じ数字を使った可能性がある。 >>75 AB=7,AC=4,AD=7/2,BD=x,CD=y cos(∠ADB)+cos(∠ADC)=0→(x^2+49/4-49)/(7x)+(y^2+49/4-16)/(7y)=0 正整数解は(x,y)=(6,2) 前>>75 見落とし、6を。 x=BD=6のとき、 AB^2-BH^2=AD^2-DH^2=AC^2-CH^2 7^2-(x+y)^2=(7/2)^2-y^2=4^2-z^2 49-x^2-2xy-y^2=49/4-y^2=16-z^2 xとyについて解くと、 49-x^2-2xy-y^2=49/4-y^2 (3/4)49-x^2-2xy=0 y=(3/8x)49-x/2 x=6を代入し、 y=49/16-3 =1/16 yとzについて解くと、 (7/2)^2-y^2=4^2-z^2 49/4-y^2=16-z^2 z^2=16-49/4+y^2 z^2=15/4+y^2 y=1/16を代入すると、 z^2=15/4+1/256 =(15・64+1)/256 =(960+1)/256 =961/256 z=31/16 CD=y+z=1/16+31/16=2 BDもCDも整数ゆえOK。 数列{a_n}は a_1=1 a_(3n+1)=a_(2n+1) a_(3n-1)=a_(2n-1) a_(3n)=-a_n を満たす。この時、 lim_(n→∞) (1/n)Σ_(k=1,n)a_k を求めよ >>70 BC が決まると、ピタゴラスの定理より BH,CH が出る。 2BH - BC = BH - CH = (BH^2 - CH^2)/(BH+CH) = (AB^2 - AC^2)/BC = 33/BC, BH = (BC + 33/BC)/2, CH = BC - BH = (BC - 33/BC)/2, さらに y = DH = √{BH^2 + AD^2 - AB^2} = √(BH^2 - 147/4), x = BD = BH - DH = BH - √{BH^2 + AD^2 - AB^2} = BH - √(BH^2 - 147/4), または x = BD = BC - CH - √(CH^2 + AD^2 - AC^2) = BC - CH - √(CH^2 - 15/4), これに BC = 8,9,10 を入れる。 サイコロを1000回ふったとき123456の順に並ぶめがある確率は? (1000-6+1)/6^6=995/46656= 0.0213263 であってる? >>81 10万回のシミュレーションで > diseq = function(x) grepl("123456",paste(sample(6,x,rep=T),collapse='')) > re=mean(replicate(1e5,diseq(k))) > summary(re) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.02179 0.02179 0.02179 0.02179 0.02179 0.02179 なので多分、あってると思う。 >>81 24961325273729411157493296049923162050180048167808600668865194878033743728420689 84376099408174097463441629168520294258369368829106815003461566130708953839682920 95221171948291726439658114424799498019097661179266489639765057526270978013345104 76524747032016146895691394753020822407944413722991044460400808243936692906887421 58562789397002085900222149015685484765540355084031630923512566224026716368839141 57709132547009630669030748477906517799741669954712570078185561021427430325179405 72821546368625756251314713494685242945606761774980997529512510098234243941523221 41377931716188773349134288985450150950313965433089387066776103030489204172673462 73213105601812900585824575190324664251243051466881215047349049321238316686313754 951248352723962319494352745433967465925847447405514305001/6^1000 ≒0.017620460571654540349... >>81 「123456」を2つ以上含む場合を無視すれば合ってる。 「123456」の前後5回以内に「123456」はないから短時間の負相関があるが、それを無視すると 1 - {1 - 1/(6^6)}^(1000-6+1) = 0.021100729 p[n]=n回目までに123456の並びが無い確率 p[n]=「n-1回目までに123456の並びが無い確率」-「n-1回目までに123456の並びが無く、n回目で123456が現れる確率」 =p[n-1]-p[n-6]/(6^6) p[0]=p[1]=p[2]=p[3]=p[4]=p[5]=1 求める確率は 1-p[1000] あとは任せた g[n]はn回目までに123456の並びがある確率 f[n]はn回目までに123456が出現してないが直前が12345で終わってる確率 e[n]はn回目までに123456が出現してないが直前が1234で終わってる確率 … b[n]はn回目までに123456が出現してないが直前が1で終わってる確率 a[n]はn回目の時点で上のどれにも当てはまらない確率 とすると、 a[0]=1, b[0]=c[0]=d[0]=e[0]=f[0]=g[0]=0, a[n+1]=(5/6)a[n]+(2/3)(b[n]+c[n]+d[n]+e[n]+f[n]), b[n+1]=(1/6)(a[n]+b[n]+c[n]+d[n]+e[n]+f[n]), c[n+1]=(1/6)b[n], d[n+1]=(1/6)c[n], e[n+1]=(1/6)d[n], f[n+1]=(1/6)e[n], g[n+1]=g[n]+(1/6)f[n] となるから、あとはがんばる(他力本願) >>85 も同じになるんかねこれ >>83 変換行列間違えました。 29894670002765580717622018953762664878384906585883227072416001286367327613872462 36176982687935042063489589508768499096701653359496110507628202771697652461481898 15867083862983975849719649919755556602395081603445217810191450771872978378492822 20929434295896536747523490245609702844253652551469152963247478735449528154607738 94897010212340239653386134088594267247751133592603591616944486751154360658915673 06079634567518636788329151870647053752023096491715169208527344676777484044463919 37957902455021334206833507250332593780127396266576899688383930527654264882692836 52659851277089138926126233125349416055818289864095231536195189335702592341232170 57986389166894334399077869160455544669456052004648395254763440350805452857924718 777798944034868387931340048957755897293189482452979797088/6^1000 ≒0.021102960211841870224... >>86 と同等の内容を、行列を使って計算させたのが、87の結果です。 >81と>87の差異はどういう違いでしょうか? 123456を1個含むか複数かの違いでしょうか? 複数許容なら数値の大きい方でいいのでしょうか? どかーん! (⌒⌒⌒) || / ̄ ̄ ̄ ̄ ̄\ | ・ U | | |ι |つ U||  ̄ ̄ ||  ̄  ̄ 呼んだ? >>90 81の計算は、当選確率1/6^6のクジを995回引いたときの当選回数の期待値に等しい。 84の計算は、当選確率1/6^6のクジを995回引いたとき、少なくとも一回当たりくじを引く確率に等しい。 「目的の出目が六回続けて出る」という事が達成される確率が1/6^6。 普通のクジなら、外れを引くとクジ一個分を無駄にする。 しかし、この問題の場合は、いわば途中まで成功していた分のクジも無駄になることになる。 一回の失敗で、無駄になるクジの数が1枚の場合もあれば、複数の場合もある。 チャレンジできる回数が995回固定ということはない。 さらに、失敗したとしても、もし、1を引いていたら、新たなチャレンジの第一歩を 踏み出していたことになるが、それ以外の目で失敗したら、第0歩から スタートすることになる。単純に「失敗」と言っても、内容が異なることもある。 本来はこのような機微に関わる問題で、厳密な値は、シンプルな式では表せない。 87や86は、6^1000通りある全てのパターンを想定している。 チャレンジできる回数が995回固定されないかも ちょうど1000回使い切ることもありうる >>92 解説ありがとうございました。 >失敗したとしても、もし、1を引いていたら、新たなチャレンジの第一歩を踏み出していたことになる この理解が私には欠けていました。 P1st Q1st even [1,] 0 0 1 [2,] 4 5 6 [3,] 26 27 13 [4,] 84 83 23 [5,] 203 197 35 [6,] 413 398 50 [7,] 751 722 67 [8,] 1259 1210 87 [9,] 1986 1910 109 [10,] 2986 2875 134 完全追尾型多項式が完成しました 宝の個数を2で固定します P1st ={12n^4+28n^3-42n^2-52n-3(-1)^n+51}/48 Q1st ={12n^4+20n^3-18n^2-20n-3(-1)^n+3}/48 ■Wolframに入力すると既約分数表示になるので御注意 P1st/Q1st ={8(n-1){(n-2)n-6}/{2n(n+2)(6n^2-2n-5)-3(-1)^n+3}}+1 >>85 任されたんぢゃ、生姜ねぇ… 線形漸化式は p[n] = p[n-1] - p[n-6] /(6^6), 特性多項式は t^6 - t^5 + (1/6)^6 = (t-α) (t-β) {tt -2Re(γ_1) t + |γ_1|^2} {tt -2 Re(γ_2) t + |γ_2|^2}, 特性根は α = 0.9999785642321302281427595561300279367871 = 1 - (1/6)^6 - 5・(1/6)^12 - 40・(1/6)^18 - … β = 0.11947305512892524659941083415872186721 γ_1 = |γ_1| e^(i θ_1) |γ_1| = 0.117113316705063892011642575051190099053 θ_1 = 2.5253513177722176449 γ_2 = |γ_2| e^(i θ_2) |γ_2| = 0.11436934616195511830934529716995273057 θ_2 = 1.279751470687185368 p[n] = 1.00000000689325α^(n-5) + c_0 β^n + c_1 |γ_1|^n cos(n θ_1+ d_1) + c_2 |γ_2|^n cos(n θ_2 + d_2) = 1.00000000689325α^(n-5) (n>>1 ) ∵ 0.114 < |β|,|γ_1|,|γ_2| < 0.120 なので 1 - p[1000] = 1 - 1.00000000689325α^995 = 0.021102960211842 1.00000000689325 = 1 + 15 (1/6)^12 + … >>84 いったん「123456」が完成すると次の5回はデッド・タイムになるわけか。 GM計数管(放射線測定器)の分解時間、不感時間みたいなものかな? >>44 BD、CD が半整数でいいなら、もう一つ解があるらしい… haskell先生の答え *Main> let ps = map (!!6) $ iterate (¥x->(tail x) ++ [x!!5 + 6%(6^6) - (sum $ take 6 x)/6^6]) $ [1%1,1%1,1%1,1%1,1%1,0,0,0,0,0,0] *Main> fromRational $ ps !! 999 2.110296021184187e-2 >>98 あった *Main> [(x,y)| x<-[4.0,4.5..10.0],y<-[1.0,1.5..7.0],y*(x^2+(3.5)^2-7^2)== -x*(y^2+(3.5)^2-4^2)] [(4.5,4.5),(6.0,2.0)] >>86 g[n] の漸化式は g[n] - g[n-1] = (1/6)f[n-1] = (1/6)^2 e[n-2] = (1/6)^3 d[n-3] = (1/6)^4 c[n-4] = (1/6)^5 b[n-5] = (1/6)^6 (1-g[n-6]) となります。したがって p[n] = 1 - g[n] の漸化式は p[n] = p[n-1] - (1/6)^6 p[n-6], これは >>85 と同じです。 Memo. a[n] = p[n] - (1/6)p[n-1] - (1/6)^2 p[n-2] - (1/6)^3 p[n-3] - (1/6)^4 p[n-4] - (1/6)^5 p[n-5], b[n] = (1/6) p[n-1], c[n] = (1/6)^2 p[n-2], d[n] = (1/6)^3 p[n-3], e[n] = (1/6)^4 p[n-4], f[n] = (1/6)^5 p[n-5], g[n] = 1 - p[n], Haskell 先生に聞いてみました。 Prelude Data.List Data.Ratio> let ps = map head $ iterate (¥x->(tail x) ++ [x!!5 - 1%(6^6) * x!!0]) [1%1,1%1,1%1,1%1,1%1,1%1-1%(6^6)] Prelude Data.List Data.Ratio> fromRational $ 1%1 - (ps !! 999) 2.110296021184187e-2 確かにこっちの方がいいね。 >>102 こんな短いコードで算出できるとは驚きです。 計算原理がさっぱりわかりません。 個々のコマンドはなんとかわかります。 1-1/(6^6)は何の数値でしょうか? >>102 ようやくコードの意味が理解できたのでRに移植。 実数計算なので誤差がでます。 f = function(N){ p=numeric() p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=1 for(n in 7:(N+1)){ p[n]=p[n-1]-p[n-6]/(6^6) } 1-p[N+1] } > f(1000) [1] 0.02110296 >>105 表示桁を増やしてみた。 > options(digits=22) > f(1000) [1] 0.0211029602118424364221 >>103-106 もうわかってるみたいだけど参考までに。 >>102 はHaskellで漸化式解くときの定石みたいなやつです。 簡単な例ではFibonacci数列を計算するとき Prelude> let f x = if x <= 2 then 1 else (f $ x-1) + (f $x-2) Prelude> [f x|x<-[1..30]] でも Prelude> let g = map head $ iterate (¥x-> (tail x) ++ [sum x]) [1,1] Prelude> take 30 g でもできますが、やってみると速度が段違いです。 なので速度優先のときは後者使います。 しかし後者のほうが優れてるわけではないんですよ。 計算そのものより理論が正しいかどうかとかの議論をしたい時とか、理論の正しさを明らかにしたい時とかなら可読性を優先して前者のほうがよい時もあります。 実際Haskellはその記述に厳しい “一貫性” を課してるので “書きにくいけど読みやすい” のが売りですからねぇ? 計算の数値だけが目的ならHaskell使う意味ありません。 TPO考えて使い分けないとです。 コインを1000回投げた。連続して表がでる確率が最も高いのは何回連続するときか? 0<|2x^2-y^3|<100√|y| を満たす整数の組(x,y)が無限に存在することを示せ まとめ(?) ε = 1/(6^6) とおく。 ・「123456]を2つ以上含む場合を無視 >>81 1 - p[n] ≒ (n-5)ε ・複数あり、相関を無視 >>84 1 - p[n] = 1 - (1-ε)^{n-5} = (n-5)ε - (1/2)(n-5)(n-6)ε^2 + (1/6)(n-5)(n-6)(n-7)ε^3 - … ・複数あり、相関あり >>96 α = 1 -ε -5ε^2 -40ε^3 -385ε^4 -4095ε^5 - … 1 - p[n] = 1 - (1 + 15ε^2 + …)α^{n-5} = (n-5)ε - (1/2)(n-10)(n-11)ε^2 + … Python? Haskell? プログラムの作れないオジサンは Excel で1000行 使ってますよ。。。 >>108 日本語の微妙なニュアンスは、それで合ってるの? 100回のコイントスで連続表の最大回数は 5回がもっとも起こりやすく確率は26% らしいけど >>108 1000回コインを振って、11連以上、10連以上、...、7連以上の表が出る確率はそれぞれ、 0.215431673 0.385449752 0.624240992 0.861144809 0.981783332 なので、最大連続数が、10連、9連、8連、7連となる確率は、それぞれ、 0.170018079 0.23879124 0.236903817 0.120638523 8連と9連がほぼ等しいが、9連となる確率が最も高い。 参考 https://rio2016.5ch.net/test/read.cgi/math/1540218853/462-465 >>112 100回で5 1000回で9 10000回で12 10万回で15 1000万回で18になった。 >>113 Rのスクリプトはここに置いた。 https://egg.5ch.net/test/read.cgi/hosp/1540905566/54 有理数表示したかったのでPythonに移植 ここで実行可能 # http://tpcg.io/rMOVCB サイコロを1万回ふったときに5回以上 及び、丁度5回1の目が続く確率を算出。数字を変えて実行も可能。 a = 2^(1/6) は無理数だから、ディリクレの定理より |p/q - a| < 1/q^2 (「ディオファントス近似」とかいうらしい。) x = q^3,y = pp とおくと 0 < | 2xx - y^3 | = | 2q^6 - p^6 | < ? う〜む、近似が足りぬ… >>115 では、ニュートン・ラフソン法を使おう。 f(x) = (x^6 -2) / x^(5/2), として x ' = x - f(x) / f '(x) = x - 2x(x^6 -2)/(7x^6 +10) = x(5x^6 +14)/(7x^6 +10), を繰り返す。このとき x '- a = (x-a)^3 * (5x^4 +8ax^3 +9aaxx +8aaax +5a^4)/(7x^6 +10) ∴ | x '- a | < C |x-a|^3, さて… >>113 100万回で18の間違い。 ちなみに1000万回で22回(確率は0.2474)だった。 >>117 https://www.tutorialspoint.com/execute_python3_online.php だとタイムアウトしたので、オフラインで算出してみた。 Just 22 4456779119136417/18014398509481984 = 0.2474009396866937 ある道路では、30分以内に車が通る確率は99.9%である。 では、10分以内に車が通る確率は? >>119 1-(1-0.999)^(1/3) =0.9 >>115 それを満たすp q が無限にあったとしてもそれらが平方数、立方数になってくれてる保証なんかないでしょ? >>105 分数表示したいのでPythonに移植した。 from fractions import Fraction def dice126(N): P=list() for n in range(6): P.append(1) P.append(1-1/(6**6)) for n in range(7,N+1): P.append(P[n-1]-P[n-6]/(6**6)) return(1-P[N]) def dice123456(N): print(Fraction(dice126(N))) print(" = " + str(dice126(N))) dice123456(1000) >>116 (補足) a = 2^(1/6) として 0 < (5x^4 +8ax^3 +9aaxx +8aaax +5a^4)/(7x^6 +10) ≦ C, C = 2.706458005831039532180100595416 等号成立は x = 0.903918268122918428596803223653869 >>96 (補足) p[0] = p[1] = p[2] = p[3] = p[4] = p[5] = 1 より p[n] = 1.00000000689307114563713652919α^(n-5) + c_0 β^n + …… = (1 + 15ε^2 + 220ε^3 + 320ε^4 +…)α^(n-5) + c_0 β^n + …… c_0 = -0.02813048468 c_1 = 0.03983999218 d_1 = -0.51407117920 c_2 = -0.05049060128 d_2 = 1.43835771780 >>110 (補足) ε = 1/(6^6) とする。 p[n] ≒ (1 +15ε^2 +220ε^3+ 3060ε^4 + …) α^(n-5) = (1 +15ε^2 +220ε^3+ 3060ε^4 + …)(1 -ε -5ε^2 -40ε^3 -385ε^4 -4095ε^5 -…)^(n-5) = 1 -(n-5)ε +(1/2!)(n-10)(n-11)ε^2 -(1/3!)(n-15)(n-16)(n-17)ε^3 +(1/4!)(n-20)(n-21)(n-22)(n-23)ε^4 - … 今んとこ解かれてないのは >>26 >>36 >>42 >>43 >>79 >>109 かね 真ん中二つはリンク先に答えあるみたいだしあれだけども ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる