2009/05/20

Wolfram Alphaが面白い

結構話題になってる新検索エンジンWolframAlpha

15歳で素粒子論の論文を書いて17歳でオックスフォード大学卒業、20歳で理論物理学の研究でカルフォルニア工科大学で博士号を取ったスゲェ天才のおじさんが作ったらしい。
色んな質問に答えてくれる。
例えば「sin^5(x)のテイラー級数」って打つと
おお、スゲェ(笑)
さすがMathematica作った人だ(笑)
続きを読む...

2009/05/16

パズル (1)の答え

A君が一つ目のケーキをfと1-fに切り分けたとする。
ちなみに、fは1/2より大きい数。

B君が一つ目で大きい方を選ぶ権利を使うならば、B君はfをとる。
つまりA君は1-fのケーキをとる。
A君は二つ目のケーキをほとんど1つと粉の一粒のようなカスに切り分けるといい。
このときA君が得るケーキの合計は
(1-f) + 1 = 2 - f
となる。

B君が一つ目で大きい方を選ぶ権利を使わないならば、1-fをとる。
つまりA君はfの方をとる。
A君は二つ目のケーキを1/2に切れば、二つ目で大きい方をとることになっているB君の取り分を最小にすることができる。
このときA君が得るケーキの合計は
f + 1/2
となる。

B君の選択に関わらずA君が得られるケーキを最大にするには、
2 - f = f + 1/2
であればよい。
2f = 3/2
よってf = 3/4とすればA君が得られるケーキは最大になる。

続きを読む...

2009/05/12

演習


#include <stdio.h>

int fact(int);
int combi(int, int);

int main(void){
int n, r;
printf("組み合わせの総数nCrを計算します\n");
printf("type n >>> ");
scanf("%d",&n);
printf("type r >>> ");
scanf("%d",&r);
printf("nCr=%d\n",combi(n,r));
return 0;
}
int combi(int n, int r){
return fact(n)/(fact(r)*fact(n-r));
}
int fact(int n){
if(n<=1){
return 1;
}else{
int i=2;
int f=1;
for(i; i<=n; i++){
f*=i;
}
return f;
}
}


続きを読む...

2009/05/09

パズル (1)

あるところにA君とB君がいます。
2人の目の前には四角形のケーキが2つあります。
A君がケーキを切る係だとします。
A君はケーキをどのように2つに切ってもいいとします。
2等分に切ることもできるし、ケーキほとんど丸ごととカス一粒に切ることもできます。
そして、二人とも大きい方のケーキを食べたいとします。

B君は一つ目のケーキで大きい方を選ぶか、二つ目のケーキのときに大きい方を選ぶようにするか、選ぶことができるとします。
(そのかわり、どちらのケーキもA君が切ります。)
B君は一つ目のケーキで大きい方を選ぶこともできるし、一つ目の時はA君に権利を譲り二つ目のケーキのとき大きい方を選ぶようにすることができるわけです。

ここで、問題は「A君はケーキをどのように切ればA君自身が食べれるケーキの量が最大になるか」ということです。

A君が一つ目のケーキを1/5と4/5に切り分けたとします。
このときB君が大きい方のケーキを選ぶ権利をA君に譲れば、B君は1/5のケーキの方をとり、二つ目のケーキでは大きい方を選ぶことができます。このときA君が二つ目のケーキを(B君がとる量が最小になるように)半分に切ればB君は1/5 + 1/2 = 7/10個だけ、A君は4/5 + 1/2 = 13/10個だけケーキを食べれることになり、A君の方が多く食べることができます。
一つ目のケーキの時、B君が大きい方のケーキを選ぶ権利を使ったとすると、B君は4/5、A君は1/5だけとり、2つ目のときA君がケーキほとんど丸ごとと粉の一粒みたいなカスに切り分ければA君はほとんど丸ごとの方を選ぶことができるので1/5 + 1 = 6/5個、B君は4/5 + 0 = 4/5個だけ、つまりA君の方が多く食べることができます。

A君は多くのケーキを食べれるように切り分けることができますが、この量を最大にするにはA君はどのようにケーキを切ればいいのでしょう?
続きを読む...

2009/05/03

チャット導入

右のサイドバーに注目。
FC2のチャットサービスを導入しました。
ちなみにこのチャットは(同じコードを使ってるので)ANCT Media ARTとつながってる。
こっちで書けばあっちにも出るし、あっちで書けばこっちにも出る。

続きを読む...

πの求め方

フーリエ級数展開すげー
関数

f(x)=|x|

(ただし-π≤x<π)の

f(x+2\pi )=f(x)

によって周期的に拡張したf(x)をフーリエ級数展開すると

f(x) = \frac{\pi }{2}-\frac{4}{\pi }(cosx+\frac{cos3x}{3^2}+\frac{cos5x}{5^2}+\cdots)

ってなる。ってことは

|x|=\frac{\pi }{2}-\frac{4}{\pi }(cosx+\frac{cos3x}{3^2}+\frac{cos5x}{5^2}+\cdots)

が-π≤x≤で成り立つ。ここでx=0と置くと、

0=\frac{\pi }{2}-\frac{4}{\pi }(1+\frac{1}{3^2}+\frac{1}{5^2}+\cdots)

整理して

1+\frac{1}{3^2}+\frac{1}{5^2}+\cdots +\frac{1}{(2n+1)^2}+\cdots =\frac{\pi^2}{8}

おーすげー
これをさらに整理

\pi =2 \sqrt{2\Bigl(1+\frac{1}{3^2}+\frac{1}{5^2}+\cdots +\frac{1}{(2n+1)^2}+\cdots \Bigr)}

πってこんなんでも計算できるんだ・・・
続きを読む...

問題 ★★☆☆☆

任意の実数x,yに対して

f(x^2)-f(y^2)+2x+1=f(x+y)f(x-y)

をみたすような関数fをすべて求めよ
続きを読む...

フーリエ解析の前に

フーリエ解析の勉強する前に部分積分法の問題いっぱい解いて慣れとかないとダメだなと思った。
部分積分法ってのは何かというと


\int f(x)g'(x)dx = f(x)g(x)-\int f'(x)g(x)dx

ってことで
定積分では


\int_{a}^{b} f(x)g'(x)dx = [f(x)g(x)]_{a}^{b}-\int_{a}^{b} f'(x)g(x)dx

ってことで。

フーリエ解析は4年の応用数学でやるらしいけど、電気回路のシラバスの後期の最後の方にもあった(つまり2年で少しやる)から勉強しといて損は無いと思う。

続きを読む...

2009/05/02

趣旨

gnimmargorpの反対はprogramming
ま、そゆことです。
Egnimmargorpの読み方は「エグニマ ルゴルプ」
ソースコードはちゃんとハイライトされる。行番号もついてる。

#include <stdio.h>
int main(void){
printf("HelloWorld!\n");
return 0;
}

ポストするときに以下のようにすればいいだけ。

<pre name="code" class="言語">
ソースコード
</pre>

注意として、<と>はエスケープさせとかないといけない。
面倒くさかったら、ここにソースコードをコピペして言語を選択し変換を押せばそのままそれをコピペするだけで貼れる。

数式はLaTeXで書ける。preで囲まないといけないけど。

<pre lang="eq.latex">
LaTeXで書いた数式
</pre>

ってすると出てくる。
だから例えば、

<pre lang="eq.latex">
f(x)=\frac{a_0}{2}+\sum^{\infty}_{n=1}(a_n\cos nx+b_n\sin nx)
</pre>

ってすると
f(x)=\frac{a_0}{2}+\sum^{\infty}_{n=1}(a_n\cos nx+b_n\sin nx)

こーやって出てくる。
続きを読む...