重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

この計算の答えをRUBYを使って解こうとしています。
私はプログラミング初心者でrubyの初心者本を買い、簡単なプログラムを作る事しかできません。この問題を解くために必要な知識が分かりやすく書いてある参考書を紹介していただきたいと思いました。

問題

期待値と標準偏差を求めよ。

1/100で当たり150円当たるクジ
1/200で当たり250円当たるクジ
1/300で当たり350円当たるクジ

これを1回1円で上の3つのサイコロを同時に投げる方法で、7000回試行した時の期待値と標準偏差。

これをエクセルでやろうとすると計算数が多すぎて作る事ができません。
有効桁数もエクセルは少なく7000C2500などの1000桁を
超える数を計算する事ができません、そこで有効桁数を気にしなくて良い
RUBYの本を買い、勉強していますが。

分からないことは

1コンビネーションの計算のプログラムの方法(nCr=n!/[r!(n-r!)])
2べき乗の計算のプログラムの方法( (1/200)^6000 )
3 やりたい事を全部書きますとw↓

1/100=P1
150円=H1
1/200=P2
250円=H2
1/300=P3
350円=H3
Q=1-P
n=くじを引いた回数
r=当たった回数

と置く、この時さらに

nCr*P1^r*Q1^(n-r) ・・・1
nCr*P2^r*Q2^(n-r) ・・・2
nCr*P3^r*Q3^(n-r) ・・・3

ここで、この問題を解きたいと思っています。
「期待値」

1のr=0から7000の値それぞれに対して
2のr=0から7000の値それぞれをかけて、その値それぞれに対して
3のr=0から7000の値をかけたものをすべて合計した値。

これを求める為に必要になる参考書を探しています。
お願いします。

 






 

A 回答 (1件)

>1コンビネーションの計算のプログラムの方法(nCr=n!/[r!(n-r!)])


>2べき乗の計算のプログラムの方法( (1/200)^6000 )

このあたりがわからないと言うことは、プログラミング初心者と言うより、プログラミングがほとんど未経験だということですよね。

「Ruby 1 はじめてのプログラミング」http://www.amazon.co.jp/dp/4798117994 あたりがいいかと。書評も良い感じです。
Rubyの本は、何らかのプログラミング言語をマスターしている人向けの物が多いです。これからプログラミングを始める人向けの数少ない本。
    • good
    • 0

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