いちばん失敗した人決定戦

エクセルで365*364*363*362*~*(365-n)のような計算をするにはどのような関数を用いればよいのでしょうか?

A 回答 (15件中1~10件)

>=FACT(365)/40^365*COMBIN(40,365)


>とやったら#NUM!エラーなんです。
>わたしの書き方が間違っているのでしょうか?

はい。#9でn=365,k=40と書きました。
nとkの値が逆です。
=FACT(40)/365^40*COMBIN(365,40)
と入力すると0.10876819
という結果が得られます。
1-0.10876819で求める確立は
0.89123181となります。

やってることは、オーバーフローしないように変形しているだけです。
もちろん先に書いたようにk=120を超えるとエラーになります。
ただ確立を求めるには問題ない範囲ですけどね。
    • good
    • 0
この回答へのお礼

ありがとうございました。
おかげさまで、同じ誕生日が存在する確率が99.99%になるには78人いればいいことがわかりました。

お礼日時:2006/08/09 00:48

こんにちは。

Wendy02です。

>多倍長整数計算って関数電卓じゃないと出来ないんですね?

Vector で探せば、いろいろなものが出てくるかと思います。

http://search.vector.co.jp/search?query=%91%BD%9 …

プログラムとしては、VBAだとちょっと厳しいものがありますが、VB系のアルゴリズムは公開されています。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2006/08/10 15:37

こんばんは。



多倍長整数計算で、

>1-365!/(365^40*(365-40)!)
=
0.89123 18098 17948 98964 56624 77354 73883 78874 55519 16721 81349 59953 31970 71412 88400 06579 98115 23441 06831 37589
    • good
    • 0
この回答へのお礼

何度もありがとうございました。
多倍長整数計算って関数電卓じゃないと出来ないんですね?

お礼日時:2006/08/10 14:00

訂正:


GigNum → BigNum
すみません。

多倍長型整数処理は、一般的に暗号システムに使われます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
BigNum
はじめてみました。勉強します。

お礼日時:2006/08/09 00:41

こんばんは。



#5の回答に対するお礼

>VBAならオーバーフローしませんかね?

します。LongLong型やDecimal型でも無理です。
多倍長型の変数が必要です。GigNumとか言います。

>=1-365!/365^40*(365-40)! を計算したいのです。

-6.01948 37420 61695 63387 88434 94213 47244 18220 80665 38019 87517 51970 10658 25104 75509 08213 61480 95405 85781 8529 e+1352

#7と同じ計算の仕方です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
1-365!/365^40*(365-40)! ではなくて
1-365!/(365^40*(365-40)!)
でした。すみません。

お礼日時:2006/08/09 00:39

間違えてました


>=k!/n^k*combin(n,k)
ではなく、
=fact(k)/n^k*combin(n,k)
ですね。
    • good
    • 0
この回答へのお礼

=FACT(365)/40^365*COMBIN(40,365)
とやったら#NUM!エラーなんです。
わたしの書き方が間違っているのでしょうか?

お礼日時:2006/08/08 17:48

こんにちわぁ



確率なので、求めたい式は
1-365!/365^n*(365-n)! ではなくて
1-365!/(365^n*(365-n)!)
ですよね。

n!/(n^k*(n-k)!)=k!/n^k*(n!/k!/(n-k)!)
と変形して、
ワークシートには
=k!/n^k*combin(n,k)という式でn=365、k=40を入れると
求めることができましたよ。

ただ、n=365でk=120くらいになると
やはり計算できないようになりますけど、
この場合では確率はほぼ1になっているので、
今回の場合では実用上の問題はないと思うのですが
    • good
    • 0
この回答へのお礼

ありがとうございます。

> n!/(n^k*(n-k)!)=k!/n^k*(n!/k!/(n-k)!)
> と変形して、

からきし数学が苦手でなぜこう変形できるのか見当もつきませんが、ありがとうございました。

お礼日時:2006/08/08 17:51
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/08/08 17:52

こんにちは。



あまり確信は持てないのですが、以下のような計算になりました。

VBAという話がありますが、VBAでも、特殊な、多倍長整数という特殊データ型とアルゴリズムを自分で作らなくてはなりません。計算には間違いないつもりですが、間違っていたらすみません。

以下は、多倍長計算電卓で出しました。

2.51041 28675 55873 22929 29443 74881 20277 05165 52026 98760 79766 87259 51939 01106 13822 09374 19666 01800 90002 5416 e+778

一般的には、スターリングの公式を用いるそうです。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2006/08/08 17:51

EXCELの仕様上の制限は


 有効桁数 15 桁
 セルに入力できる最大値 9.99999999999999E+307
 処理できる正の最大値 1.79769313486231E
までです。=FACT(170)で7.2574E+306となりますから、上限に達してしまいます

式を正規化するか、桁を落として計算させてあとで10^nを掛けるかしないとEXCELでの計算は困難でしょう。(なおその場合でも有効桁数の制限は残ります)
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/08/08 17:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!