私はこの質問への回答を送信し、現在米国で現在行われているMegaMillions宝くじの流行に関するいくつかのニュース記事を見ました。このニュース記事は、個人が運を試すために一度に20,000ドル相当のチケットを購入した(これは20,000 セットの確認用です!)と述べています。
そのため、購入した大量のチケットで、ジャックポットだけでなく賞品を獲得できるかどうかをすばやく判断する方法について考えました。
その場合の課題は次のとおりです。
概要:
引数として数値の文字列を受け入れる関数またはプログラムを作成し(STDIN、または選択したファイルから読み取る)、少なくとも最低支払額が支払われたチケットの数を返します。
コードの詳細:
- 入力は、購入されたチケットごとに1つずつ、一連の行で構成されます。当選番号の先頭には0が付けられ、抽選番号の先頭には1から始まる増分番号が付けられます(例を参照)。
- 入力は、抽選や当選番号など、毎回完全にランダムな数字のセットである必要があります。
- 入力は、1 <= n <= 20,000の任意の数のチケットnを受け入れる必要があります。(0チケットが実行されないと仮定します。)
- 入力の各行には、1行あたり7つの数字があります。1つは上記のプレフィックス用、5つは標準ボール用、もう1つは「マッチ」ボール用です。(以下のロトの詳細を参照)
- 入力は任意の方法で区切ることができます(空白、セミコロンなど)。
- 出力は、すべての勝利抽選と勝利額のリストでなければなりません。(それであなたはどちらを提出するか知っています。)
- 出力リストは、勝ち額順に並べる必要があります。(あるチケットで$ 2を獲得した場合、別のチケットで$ 10,000を獲得した場合、誰が気にしますか?)
- 複数のチケットが同じ金額を獲得した場合、それらのチケットの順序は関係ありません。
- 出力には、勝った合計金額のリストも表示されます。
ロトの詳細:
- MegaMillionsゲームの標準ルールが適用されます。これは、現在非常に暑いためです。
- ドローは、2つの別々の数字のプールからの6つの数字で構成されます。1から56までの5つの異なる数字と、1から46までの1つの数字(マッチボール)です。
- ジャックポットは、抽選で6つすべての当選番号を照合することによって獲得されます。
ジャックポット以外の賞は以下のように授与されます(下の画像を参照)。
(メイン)+(マッチ)=(支払い)
5 + 1 =ジャックポット
5 + 0 = $ 250,000
4 + 1 = $ 10,000
4 + 0 = $ 150
3 + 1 = $ 150
3 + 0 = $ 7
2 + 1 = $ 10
1 + 1 = $ 3
0 + 1 = $ 2現在のジャックポットが$ 1,000,000(100万)であると想定します。
- あなたのランダム抽選が同じジャックポットを複数回選ぶ引っ張っていない限り、一つだけ大当たりの勝者を想定(あなたが浮気しています?) 。
- 乗数/カリフォルニアのルールが機能していないと仮定します。

チャレンジの詳細:
- これはコードゴルフなので、最短のコードが勝ちます。
- 引き分けの場合、私は最も高い投票された答えをとります。これはやや主観的ですが、要点はスコアです。
例:
入力:
0 2 4 23 38 46 23
1 17 18 22 23 30 40
2 2 5 24 37 45 23
3 4 23 38 40 50 9
4 2 4 23 38 46 17
5 5 16 32 33 56 46
出力:
4 - $250,000
3 - $7
2 - $3
Total Winnings: $250,010
5
ここで抽選ルールを繰り返すことはできますか?質問は自己完結型である必要があると思います。また、職場からギャンブルサイトにアクセスできません。
—
ugoren
承知しました... 1分後に上記を追加します!
—
Gaffi
ジャックポットは当選したすべてのチケットの間で分割されませんか?
—
反時計回りを停止
@leftaroundabout修正済み。
—
Gaffi
いいえ...私は勝ちます...
—
スティーブ・ロビンス