面白い問題おしえて〜な 27問目
■ このスレッドは過去ログ倉庫に格納されています
0337 卵の名無しさん 2018/08/12 08:03:01
数学板にあった問題をこのスレの趣旨に合わせて改変。
あるド底辺シリツ医に
学力考査で入学した学生(学力学生)と任意の寄付や縁故による加点で入学した学生(裏口学生)がいるとする。
無作為に一人選んで調査して以下の「浄化操作」をする。
・調査対象の学生が裏口学生なら退学させる。
・調査対象の学力学生ならそのまま在籍させて裏口学生を一人追加入学させる。
この「浄化操作」を n 回行った後の裏口学生の人数を Un とする。
最初に学力学生10人、裏口学生90人がいるとしてn→∞としたときの Un の期待値を求めよ。 >>141
意味不明。
>>143
> = Σ[j=1,k] A(t)^j・B(t)・A(t)^(k-j) - A(t)^(j-1)・B(t)・A(t)^(k+1-j)
> = A(t)^k・B(t) - B(t)・A(t)^k,
一般にA(t)とB(t)は可換でない。 >>147
一瞬グラフみて「え?10.5近辺に収束するはずなんだけど」と思ってあせりました。
グラフ下の方切れてるんですね。
赤10,白90からスタートした場合のCでの数値実験。
http://codepad.org/ALVNXu5t
――
1001 : 10.500000
1002 : 10.500000
1003 : 10.500000
1004 : 10.500000
1005 : 10.500000
1006 : 10.500000
1007 : 10.500000
1008 : 10.500000
1009 : 10.500000
1010 : 10.500000
――
ちなみに収束してるようにみえますが±1/(2 exp 20)の幅で奇数項と偶数項で振動するはずです。
しかし奇数項+偶数項は収束します。
収束性を仮定すると赤10の場合なぜ奇数項+偶数項が21に収束するかは割と簡単に示せると思います。 >>154 (下)
意味不明。
(t) を略して書くと、
= Σ[j=1,k] {A^j・B・A^(k-j) - A^(j-1)・B・A^(k+1-j)}
= {A^k・B - A^(k-1)・BA} + {A^(k-1)・BA - A^(k-2)・BAA} + ……
+ {AAB・A^(k-2) - AB・A^(k-1)} + {AB・A^(k-1) - B・A^k}
= A^k・B - B・A^k,
一般にA(t)とB(t)は可換でない。 (1)
d/dt tr A(t) = tr d/dt A(t)
を示せ。
(2)
tr AB = tr BA
を示せ。 >>135
EXn+EXn+1は振動しない?
EX2n+E2n+1とかではなくて? >>159
振動しません。
十分大きいnでは
……x,y,x,y,x,y,x,y……
のような形になるので。
振動幅ごくわずかですけど。
もっというなら各 i に対し
lim P(X_{2n-1} = i)、lim P(X_{2n} = i)
はすべて収束します。
それを使えば >>135 の答えは割と簡単。
問題は収束性。
ネットで調べまくって、いや〜偉い人は偉いなぁとしみじみ思いました。 行列の成分表示を使わない trace って、どう定義されるんだっけ?
つまり、-(固有値の総和)のことなんだけど、これを一次変換の変換の性質を表す言葉を使った定義。 >>161
射影変換の場合はその階数だと思うけど…
一般の場合はどうするか? 数列{a[n]}は上に有界かつ単調増加である。
この数列の極限値をαとするとき、同じ極限値に収束する定数でない数列{b[n]}で、以下の性質を持つものを考える。
(A)ある自然数kが存在し、m>kであるすべての自然数mに対して、|b[m]-α| < |a[m]-α| が成り立つ。
(B)ある2次多項式f(x)が存在し(2次の係数は0でない)、b[n]=f(a[n])と表される。
(1)性質(A)を持つ{b(n)}が存在することを示せ。
(2)性質(A),(B)をいずれも持つような{b(n)}は存在するか。 >>155
これは lim[n→∞] E(Xn)のグラフ。 >>163
・f(α) = α
・a1≦x<αにおいてfは単調増加、x<f(x)<α
であるfをとれば良い。 >>155
赤10,白90からスタートして
n回試行後のXnの期待値X[n]は
X[0]=90
red=10
X[i+1] = (X[i] +1)*red/(X[i]+red) + (X[i] - 1)*X[i]/(X[i]+red)
で10に収束するように思えるんだけど。
> Xn <- function(n,red=10,white=90){
+ X=numeric()
+ X[1]=white
+ for(i in 1:n){
+ X[i+1] = (X[i] +1)*red/(X[i]+red) + (X[i] - 1)*X[i]/(X[i]+red)
+ }
+ return(X[n+1])
+ }
> sapply(c(100,200,300,400,500),Xn)
[1] 24.22034 10.17547 10.00105 10.00001 10.00000 >>166
その漸化式がおかしい。
X(0) = 90、X(1) = 992/10
までは正しくでるけどその漸化式では
X(2) = 54809 / 620。
でも正しくは
P(2回目で玉98個) = 89/110、
P(2回目で玉100個) = 2011/1111、
P(2回目で玉102個) = 1/101
なので
X(2) = 546621/5555。 訂正
P(2回目で玉100個) = 2011/11110、 >>145
[nx] - Σ(k=1,n) [kx]/k = Σ(j=2,n) c_j・S_j
とおく。c_2 〜 c_n は定数。
まず [nx] を含むのは S_n だけ。
1 - 1/n = (n-1)c_n,
c_n = 1/n,
次に [(n-1)x] を含むのは S_n と S_{n-1}.
-1/(n-1) = (n-2)c_{n-1} - 2c_n,
c_{n-1} = 1/(n-1) - 1/n,
さらに [jx] を含むのは S_n 〜 S_j.
-1/j = (j-1)c_j - 2(c_{j+1} + … + c_n)
= (j-1)c_j - 2/(j+1),
c_j = 1/j - 1/(j+1), (2≦j<n) >>148
>f2^k(2n+1)=2^kf(2n+1)
ff(2n+1)=2(2n+1)
f(2n+1)=2^k(2m+1)とすると
ff(2n+1)=f2^k(2m+1)=2^kf(2m+1)=2(2n+1)より
k=1,f(2m+1)=2n+1
または
k=0,f(2m+1)=2(2n+1)
そこで
A={2m+1|f(2m+1)が奇数}
B={2n+1|f(2n+1)が奇数の2倍}
と定めるとABは可算集合ですべての奇数はどちらか一方のみに所属
逆に奇数をどちらも可算のA,Bに分けて
h:A→B:isoを任意に取り
2m+1∈Aに対してf(2m+1)=h(2m+1)=2n+1,f(2n+1)=2(2m+1)と定義し2べき倍に拡張すれば
fは所定の性質ffn=2nを持つ
しかし
gg(2n+1)=2(2m+1)
gg(2m+1)=2n+1
および
gg2n=2ggn >>168
ご指摘通り、
2回めが赤でも
1回めが赤で2回めが赤の場合と
1回めが白で2回めが赤の場合で
期待値は異なりますね
御助言ありがとうございました。 >>168
X(n)は球の総数として
P(2回目で玉100個) になるのは99→100の場合と101→100の場合があって
前者は90/100*10/99、後者は10/100*91/101で異なりますね。
御指摘に従ってコードを書き直しました。
X <- function(n,red=10,white=90){
rw=red+white
p=list()
total=list()
total[[1]]=c(rw-1,rw+1)
p[[1]]=c(white/rw,red/rw)
if(n > 1){
for(i in 1:n){
total[[i+1]]=c(total[[i]]-1,total[[i]]+1)
p[[i+1]]=c(p[[i]]*(total[[i]]-red)/total[[i]], p[[i]]*red/total[[i]])
}
}
return(sum(p[[n]]*total[[n]]))
}
計算結果は合致しました。
> X(2)
[1] 98.40162
> 546621/5555
[1] 98.40162
プログラムとしては間違っていないと思うのですが、メモリー不足になって実用性はありませんでした。 f:R^2→R が原点で連続ならば
lim(x→0)lim(y→0)f(x,y)=lim(y→0)lim(x→0)f(x,y)
は成り立つか? >>140
省エネ化してRに移植
# 確率を行列化
rm(list=ls())
X = function(n,r=10,w=90){
# s[i,j]
rw=r+w # 試行前総玉数
J=rw+n # jの上限
s=matrix(0,nrow=n,ncol=J) # i回試行後に総数がj個である確率の行列
s[1,rw-1]=w/rw ; s[1,rw+1]=r/rw # 1回試行後
if(n > 1){
for(i in 2:n){
for(j in r:J){ # jはr未満にはならない
# if(j==1) s[i,j] = s[i-1,j+1]*(j+1-r)/(j+1)
if(j==J) s[i,j] = s[i-1,j-1] * r/(j-1)
else s[i,j] = s[i-1,j-1] * r/(j-1) + s[i-1,j+1]*(j+1-r)/(j+1)
}
}
}
total=sum((r:J)*s[n,r:J])
white=total-r
return(c(total=total,white=white))
}
X(2)
546621/5555
vX=Vectorize(X)
vX(1000:1010)
> vX=Vectorize(X)
> vX(1000:1010)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11]
total 20.5 20.5 20.5 20.5 20.5 20.5 20.5 20.5 20.5 20.5 20.5
white 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 10.5 >>175
例えば f(x,y) の値を
|x| (x,yがどちらか一方のみが有理数の時)
0 (それ以外の時)
と定めればfは原点で連続であるが、x≠0 の時に lim(y→0)f(x,y) は定義されないため、二行目の等式が成り立つことはない。 {n}=1111...111と定義する(nは自然数であり、10進法表記したときに1がn個並んでいる)。
(1){n}=3^a(aは自然数)となることはあるか。
さらに、自然数kおよび非負整数mに対し、以下の等式を満たす非負整数a及び整数b(bは1または2である)がただ1つに定まるとき、a,bを決定せよ。
ただ1つに定まらない場合はaの最大値を述べよ。
ただしaは非負であり、bは1または2とする。
(A){3k}=(3^a)*(3m+b)
(B){3(k+1)}=(3^a)*(3m+b)
(C){3(k+2)}=(3^a)*(3m+b) >>167
1000〜1010回試行をそれぞれ100回繰り返して平均をだすシミュレーション結果で10.5近辺で振動したから
シミュレーションのコードは正しいと思う。
http://i.imgur.com/auQXeu2.png >>150-151 で
奇数m、(m,p)=1、非負整数j≧0 に対し
T_(m,j) = {m・p^(4j),m・p^(4j+1),m・p^(4j+2),m・p^(4j+3)} = {a,b,c,d}
としたものが >>149 >>140
精度上げて計算。
赤10,白90スタート。
http://codepad.org/d3B4hPPi
1001 : 0000020.50000000103057681723857863179375573
1002 : 0000020.49999999896942319451989818931917708
1003 : 0000020.50000000103057681669136956653754163
1004 : 0000020.49999999896942319399815481629102060
1005 : 0000020.50000000103057681619390677994098141
1006 : 0000020.49999999896942319352384265899269428
1007 : 0000020.50000000103057681574166788303501812
1008 : 0000020.49999999896942319309264978872148864
1009 : 0000020.50000000103057681533054161312050221
1010 : 0000020.49999999896942319270065627029311700 >>176
Rは16桁が限度
> print(data.frame(total),digits=16)
total
1001 20.50000000103054
1002 20.49999999896938
1003 20.50000000103054
1004 20.49999999896938
1005 20.50000000103054
1006 20.49999999896938
1007 20.50000000103054
1008 20.49999999896938
1009 20.50000000103054
1010 20.49999999896938 丁度4個の元から成る, 乗法単位元を持つ可換とも限らない環R=({0,1,x,y},+,×)の演算表を以下に4つ作った.
但し, (1)~(4)で定義される環は互いに同型でないとし, 加法単位元を0, 乗法単位元を1と書いた.
表の残りを埋め, (1)~(4)の環構造を決定せよ.
https://i.imgur.com/zuZOQn5.jpg >>183
4元からなる代数をRとしてk={1,1+1,…}のなす環はZ/2Z、Z/4Zのいずれか。
後者のときはR=Z/4Z。
kが2元体のときt∈R\kをとってR=k[t]はk上の2次元の代数で可換。
Rが零因子を持たないときはRは4元体。
Rが冪零根基をもつときはRはk[x]/(x^2)、持たないときはkΠk。
(2)はkが2元体でないのでZ/4Z。
(4)は残り3つのうちy^2=yがkの元でない解をもつのでkΠk。
(3)は残り2つのうちx^2がkの元でないのでF4。
(1)は残りのひとつk[x]/(x^2)。 整数から複素数への写像 f であって、次を満たすものはいくつ存在するか:
任意の整数 x, y について f(xy+1) = f(x+y) + f(x)f(y) が成り立つ。 高添沼田(葛飾区青戸6−23−21ハイツニュー青戸103号室)の挑発
高添沼田の親父「関東連合文句があったらいつでも孫を金属バットで殴り殺しに来やがれっ!! 関東連合の糞野郎どもは俺様がぶちのめしてやるぜっ!! 賞金をやるからいつでもかかって来いっ!!糞バエ関東連合どもっ!! 待ってるぜっ!!」 (挑戦状) >>185
f(x) = 0, x-1, xx-1,
3つ以上 >>178
(1)
{n} = (10^n - 1)/9,
(解1)
nの素因数をpとすると
{p} | {n}
p=2 のとき
{p} = 11、{n}は11の倍数。
p=3 のとき
{p} = 111 = 3・37、{n}は37の倍数。
p>3 のとき
{p} = Σ[k=0,p-1] 10^k ≡ Σ[k=0,p-1] 1 = p ≠ 0 (mod 3)
∴ 3以外の素因数をもつ。
(解2)
題意より
10^n - 3^(a+2) = 1
n=1 のとき
a=0 となり不適。
n≧2 のとき
カタラン予想(ミハイレスクの定理)により、等式は成り立たない。 2直線l,mに対してsl+tmで表される直線は確かにl,mの交点を通る直線だが、逆にl,mの交点を通る直線は全て上の形で表されることを初等的に示せ。
(集合っぽくで書けば{sl+tm|s,t:実数}⊂{l,mの交点を通る直線全体}は成り立つが逆向きの包含関係は成り立つことを示せ。) 例えば:
2直線l,mの交点をPとし、各々の方向ベクトルをa,bとする。Pを通る任意の直線l'に対し、l,mは一点で交わるのでa,bは一次独立。l'の方向ベクトルcに対しある実数s,tが存在しc=sa+tbと表せる。このs,tに対しsl+tmで表せる直線を考えればこれはl'と一致している。
初等的とは、高校レベルです
Hilbertの零点定理などはやめてください。
背景としては、2直線の交点を通る任意の直線は2直線の(陰関数表示の)実数倍の和で表せる、みたいなことを使った問題を見ました。(つまり逆を使ってる)これって初等的に簡単に示せるのか?というものです
方向ベクトル使うのは良さそうですが、さすがにこれだけだと方向ベクトルの線型結合であって多項式の線型結合ではないけど続ければいけるかな。 0,1,2から無作為に1つの数字を選び、それを左から順に並べたものをa[1],a[2],...,a[n]とする。
このとき、1の位が0で、小数点以下第1位から順にこれらの数を並べ実数
0.a[1]a[2]a[3]...
を作る。このとき以下の確率を求めよ。
P( 1/9 < lim[n→∞] 0.a[1]a[2]a[3]... a[n] < 11/54) f(a,b)g(x,y)−g(a,b)f(x,y)=0は(a,b)を通る。 2018×2019×2020×2021+aが平方数となるような最小の自然数aを求めよ >>197
n(n+1)(n+2)(n+3)+1=(nn+3n+1)^2 >>192
簡単なことをある一定レベルの表記で書けと言う問題は
数学じゃないよ いいかげん自然数という用語を廃止した方が良いと思う >>197
平成31年て四か月だけあるのかな?
2018×2019×2020×2021+a=(2019-1)×2019×2020×(2020+1)+a
=(2019^2-2019)×(2020^2+2020)+a
=(2019×2020)^2-2020・2019・2020+2019・2019・2020-2019・2020+a
=(2019×2020)^2-2・2019・2020+a
a=2・2019・2020
=8076000+80760
=8156760 >>204
なんで既に答えが出てる問題のしかも間違って答えわざわざのせるん? 前>>204
2018×2019×2020×2021+a=2018×(2018+1)×(2018+2)×(2018+3)+a
=(2018^2+3・2018)(2018^2+3・2018+2)+a
=(2018^2+3・2018+b)^2
(2+9)2018^2+6・2018+a=(2b+9)2018^2+6b・2018+b^2
b=1
∴a=b^2=1
あってるような。違うかも。 >>185の答え:7つ。
f(xy+1) = f(x+y) + f(x)f(y) …[0]
x=y=1 とすれば f(1)=0.
x=y=0 とすれば f(0)=0,-1.
f(0)=0 の場合、[0]において y=0 とすれば f(x)=0 が導けるので、以降 f(0)=-1 と仮定する。
y=-1 とすると、 f(-x+1) = f(x-1) + f(x)f(-1). …[1]
この x を 2-x に置き換えれば
f(x-1) = f(1-x) + f(2-x)f(-1).
足しあわせて
f(-1)(f(x)+f(2-x))=0.
(i) f(-1)≠0 の時
f(x)+f(2-x)=0. (特に、f(2)=1.)
これと [1] より f(x+1) + f(-1)f(x) + f(x-1) = 0.
これは三項間漸化式であり、f(0)=-1, f(1)=0 は決定されているので、関数fはf(-1)=:aの値で全て決まる。漸化式より、 f(-2) = 1 - a^2,
f(-3) = a^3 - 2a.
[0] で x=2, y=-2 とすれば、 f(-3) = -1 + f(-2) となるので、
a^3 + a^2 - 2a = 0.
a≠0 より、 a=1,-2.
これに対応するfはそれぞれ
f(x)=(xmod3)-1, (ただしxmod3はxを3で割った余り。以降同様)
f(x)=x-1
となるが、このどちらも[0]を満たす。
(ii)f(-1)=0 の時
[1]よりfは偶関数となるので、
f(m)= f(2m-3) - f(m-2)f(2) ([0]において x=m-2, y=2)
= f(-2m+3) - f(m-2)f(2)
= f(m-3) + f(m-1)f(2) - f(m-2)f(2). (x=m-1, y=-2)
これは四項間漸化式であり、 f(-1)=f(1)=0, f(0)=-1 は全て決定されているので、関数fはf(2)=:bの値で全て決まる。
漸化式よりf(3) = b^2 - 1,
f(4) = b^3 - b^2 - b,
f(5) = b^4 - 2b^3 - b^2 + 2b.
また、[0]でx=y=2を代入すると f(5)=f(4)+b^2 となるから、bについて解くと b=3,1,0,-1 となる。これに対応するfはそれぞれ
f(x)=x^2-1,
f(x)=-cos(πx/2),
f(x)=(x^2 mod3)-1,
f(x)=(xmod2)-1
となり、このいずれも[0]を満たす。
以上より、求めるfの個数は7つである。 >>209
そうです、ごめんなさいオリジナルなんです
最近数オリとかの関数方程式にはまってて自分も何か作ってみようかと思って色々いじってたら、
整数値しかとれない制約をつけた時に思いの外難易度が上がったので、試しにと思いついた二乗関連の恒等式から1つ作ってみたものです 問題をコピペしてくるしか能が無い出題者は悔い改めて(クソデカブーメラン) 連続した2018個の正整数の和として表され、かつ連続した2018個の正整数の積としても表される整数は存在するか。 >>213存在しないんじゃないの。前>>206
和より積のほうが圧倒的に大きい。
1+2+3+……+2018=2019×1009=2019000+18171=2037171<1000・1001・1002<1・2・3・……・2018
2+3+……+2018+2019=2021×1009=2021000+18189=2039189<1001・1002・1003<2・3・……・2019
和より積のほうが圧倒的に大きい。宇宙のように膨張する。 >>203
自然数という用語が問題なのではなく、平然と拡大解釈(誤用)して改めない人たちが問題では?(特に一部の某基礎論…)
>>207
それで用は足りますね。
>>213
連続した2018個の正整数の和は、1009個の奇数を含むから、奇数。
連続した2018個の正整数の積は偶数。 空間において次の不等式を満たす点(x,y,z)全体からなる領域の体積を求めよ。
8≦(1+x^2)(1+y^2)(1+z^2)≦125 >>216
0≦x、0≦y、0≦zの領域の体積を8倍する。
キッチンのコーナーからゴキブリが顔を出すぐらいのスペースをあけてモルタルを満遍なくなめらかに塗るか蜘蛛の巣を張るイメージ。
y=0のとき、
(7-x^2)/(1+x^2)≦z^2≦(124-x^2)/(1+x^2)
x軸、y軸、z軸近辺は、√7から2√31の領域が題意を満たす。
点(1,1,1)と点(2,2,2)のあいだの領域が題意を満たす。
y=tのとき、
(7-x^2)/(1+t^2)(1+x^2)≦z^2≦(124-x^2)/(1+t^2)(1+x^2)
今0≦zなので、
√{(7-x^2)/(1+t^2)(1+x^2)}≦z≦√{(124-x^2)/(1+t^2)(1+x^2)}
lim(t=0→∞)Σ(x=0~∞)√{(124-x^2)/(1+t^2)(1+x^2)}-√{(7-x^2)/(1+t^2)(1+x^2)}
パス。 >>218
K(a) = {(1+x^2)(1+y^2)(1+z^2)≦a}、R(a,t) = K(a) ∩ {z=t}
とおく。
Area of R(a,t)
= Area of {(1+x^2)(1+y^2) ≦ a/(1+t^2)}
= Area of {1+r^2 + (1/4)r^2sin 2θ ≦ a/(1+t^2)}
= (a/(1+t^2) - 1)/2∫[θ]1/(1+(1/4)sin2θ)dθ
= 2π(a/(1+t^2) - 1)/√5
∴ Vokume of V(a) = 2∫[0,√(a-1)] 2π(a/(1+t^2) - 1)/√5 dt = …
∴ V(125) - V(8) = … >>214
2組の「連続した2018個の正整数」が同じとは限らないよ。
>>218
(1+xx)(1+yy)
= 1 + rr + (xy)^2
= 1 + rr + {(1/2)rr sin(2θ)}^2
= 1 + rr + (1/8)r^4 {1-cos(4θ)}, >>198
n(n+3) = (nn+3n+1) - 1,
(n+1)(n+2) = (nn+3n+1) + 1,
辺々掛ける
>>220 下
撤回 >>208 >>210
7つとも実の整数解。(とくに周期解は {-1,0,1}のどれか)
複素数を持ち出す理由ないんぢゃね? >>194
今回はl,mの交点Pを通る任意の直線がlとmの定数倍の和で表せる事を示したいです。つまりPを通る任意の直線l'に対してある実数s,tが存在してl'=sl+tmとなる事を示せば良いです。
なのでまずPを通る任意の直線l'を一つとってきてl'=sl+tmを満たす実数s,tの存在を示す…というのがオーソドックスな解法だと私は思いました >>218
a/(1+tt) = 1+1/kk (k>0) とおくと
Area of R(a,t)
= Area of {(1+xx)(1+yy) ≦ 1+1/kk }
= 4∫[0,1/k] √{(1+1/kk)/(1+xx) - 1} dx
= -i(4/k) E(i・arcsinh(1/k) ; -kk)
= -i(4/k) E(i・log[1/k + √(1+1/kk)] ; -kk)
= ?
ここに
E(φ ; kk) = ∫[0,φ] √{1 - kk・(sinθ)^2} dθ
は第二種の楕円積分
E(iφ ; -kk) = i∫[0,φ] √{1 + kk・(sin(iθ))^2} dθ
= i∫[0,φ] √{1 - kk・(sinhθ)^2} dθ >>216 の近似値
V(125) = 479.6672
V(8) = 33.6566
V(125) - V(8) = 446.0106 >>223
まず、等式 l'=sl+tm が何を表す式なのかをはっきりさせないと、誰も答えてくれないだろう。 (1){}内はある無限小数において循環する部分を表す。0.{14159}を互いに素な正整数p,qを用いてq/pの形で表せ。
またその場合のpの桁数Nを求めよ。
(2)分母がN桁の整数である既約分数全体の集合をSとする。Sの要素で|3+r-π|を最小にする有理数rは(1)のq/pかどうか判定せよ。π=3.14159265358979...は既知としてよい。 Prelude Data.Ratio> (atan 1)*4 - (fromRational $ 208341 % 66317)
1.2235634727630895e-10 >>227
(1) p=99999,q=14159,N=5
(2) 3+(q/p)-π= -1.237675634×10^(-6) 行列の指数関数に対して、以下は成り立つか?成り立たないなら反例を挙げよ。
(1) e^A e^B = e^B e^A ならば、AB = BA.
(2) e^A e^B = e^B e^A ならば、e^(A+B) = e^A e^B. 0.1415926535…を連分数展開すると
[0;7,15,1,292,1,1,1,2,…]
深いところで打ち切るほど、より近似的な規約分数を与える
[0;7,15,1]=16/113=0.1415929…
[0;7,15,1,292]=4687/33102=0.1415926530…
[0;7,15,1,292,1]=4703/33215=0.1415926539…
[0;7,15,1,292,1,1]=9390/66317=0.1415926534…
[0;7,15,1,292,1,1,1]=14093/99532=0.1415926536…
[0;7,15,1,292,1,1,1,2]=37576/265381=0.141592653581…
特に|3+14093/99532-π|=2.9…*10^-11 >>231
素晴らしい解答です。14159/99999から平均を使って一回だけ近似する方法を考えていましたが、鮮やかです。 3 + 14159/99999 - π = -1.23767563409687122747・10^(-6) >>229
3 + 9390/66317 - π = -1.22356532942188597930・10^(-10) >>228
3 + 14093/99532 - π = 2.91433849348569181311・10^(-11) >>231 円周率の近似値として355/113より誤差が小さい分数の中で、最も分母が小さいものは何か? *Main> sort [(b,a,abs $ pi - a/b) | a<-[1..400],b<-[1..113],(abs $ pi-a/b) <= (abs $ pi - 355/113)]
[(113.0,355.0,2.667641894049666e-7)] 3 + 16/113 - π = 2.667641890624223・10^(-7)
3 + 4495/31746 - π = -1.1997151645821・10^(-8)
3 + 4703/33215 -π = 3.3162780624607・10^(-10) >>236
99733/31746 ではありません。 34906585/11111111
≒3.14159268
π≒3.14159265
前>>238 ! Fortran 95
program pi
implicit none
integer :: p,q
real(8) :: a,b,r,s
a=dacos(-1D0)
b=dabs(a-355D0/113D0)
do p=1,40000
do q=1,p
r=3D0+dble(q)/dble(p)
s=dabs(a-r)
if (s<b) then
write(*,*) 3*p+q,"/",p,"=",r,s
stop
end if
end do
end do
stop
end program pi 52163 / 16604 = 3.1415923873765359 2.6621325721620792E-007 >>241
正解
分母がkの分数で、値がπに最も近いものは、[kπ]/k か [kπ+1]/k のどちらか。([x]はガウス記号)
kを1から変化させながら、この近似分数を発生させ、誤差を計る。
最小誤差が更新したときに、出力するようにしたのが、次のプログラム。
http://codepad.org/uDLvmZr4
出力結果から分かるように、 52163/16604 が答。
355/113 が桁数のわりに異常に精度が高いことが確認できると思う。 >>234
2π-355/113から355/113の間にある分数を虱潰しに探させて最初に見つかった分数を出してみた。
options(digits=16)
a=355
b=113
(U=a/b) # 3.141592 92
(L=2*pi-a/b) # 3.141592 39
f <- function(n){
m=0
x=m/n
while(x<U){
if(L<x) return(m-1)
x=m/n
m=m+1
}
return(NULL)
}
n=1
while(is.null(f(n))){
if( !is.null(f(n)) ) break
n=n+1
}
cat(f(n),'/',n,'\n')
f(n)/n
> cat(f(n),'/',n,'\n')
52163 / 16604
> f(n)/n
[1] 3.141592387376536 3 + 16/113 - π = 2.667641890624223・10^(-7)
3 + 2351/16604 - π = -2.6621325746395047764・10^(-7)
相加平均すると
3 + 531327/(2・113・16604) - π = 2.75465799235917364424・10^(-10) >>242
正解の出し方ありがとうございました。
Rにはガウス記号にあたるfloorという関数があるのでこれでやってみました。
a=355
b=113
f <- function(k){
dk=abs(floor(k*pi)/k-pi)
dk1=abs(floor(k*pi+1)/k-pi)
min(dk,dk1)
}
d=abs(a/b-pi)
k=1
while(f(k)>=d){
if(f(k)<d) break
k=k+1
}
k
> k
[1] 16604
虱潰しと違って瞬時に答がでました。 問題読み間違えた orz
http://codepad.org/GHLm2A9a
main = do
print $ head [(d,x,y) | d<-[1..], let y = fromInteger d, let x = fromInteger $ floor $ y*pi, x/y > 2*pi -355/113]
print $ head [(d,x,y) | d<-[1..], let y = fromInteger d, let x = fromInteger $ ceiling $ y*pi, x/y < 355/113]
(16604,52163.0,16604.0)
(33215,104348.0,33215.0) >>242
[kπ-1]/k は 考えなくていい? 二項係数 nCr を C[n,r] で表すとき、
Σ[k=0 to 2n] C[2(n-k),n-k]*C[2k,k] = 4^n を証明せよ。 f(x)=1/√(1-x)を二項展開してf(x)^2=1/(1-x)の係数比較。 >>248
Lv.1:計算で証明
Lv.2:組合せの考え方で証明 >>247
kπ に一番近い整数を求めたい訳ですが、数直線上に kπ を印し、そこから左に進んで
最初に見つかる整数か、そこから、右に進んで最初に見つかる整数 のどちらかです。
ガウス記号を使うと、前者は、[kπ]で表せるし、後者は、[kπ+1]です。
切り捨て関数といえるガウス記号を使う限りでは、[kπ-1]は考慮する必要がありません。
もし、ガウス記号ではなく、四捨五入関数を使うのであれば、それに放り込んだものが、最も近い整数だし、
切り上げ関数Ceil()を使うのであれば、Ceil(kπ)か、Ceil(kπ-1)のどちらかということになります。
>>243
アイデアを拝借して、プログラムを組んでみました。
分数の目標となる範囲をあらかじめ設定し、仮に設定した分数の値が大きすぎれば、分母を大きくし、
小さすぎれば、分子を大きくし、...を繰り返し、範囲に収まる分数を探すという方法です。
http://codepad.org/JrigZqIn
242の方法は、分母 n までチェックする場合、2n の候補を調べていましたが、
この方法は、あと、もう一工夫入れることで、(3/2)n 位の候補のチェックで済みそうで、
よりよいアルゴリズムだと思います。 ■ このスレッドは過去ログ倉庫に格納されています