ある朝、目覚ましで目覚めたが、スヌーズすると、さらに8分間眠ることができたとします。再び鳴ったら、しぶしぶ起きてシャワーを浴びます。これには15〜17分かかります。その後、正確に2分間歯を磨き、服を着ます。これには約3〜5分かかります。最後に、急いで朝食を6〜8分で食べてドアを使い果たします。
このタイミングシーケンスを次のように示すことができます。 8 15-17 2 3-5 6-8
。
あなたの朝のルーチンの不確実性を考えると、あなたが最初に目を覚ましてから特定の分数で各タスクを行っていた確率は何ですか?
すべてのタスクに整数分かかると仮定すると、不確実な時間範囲の可能な組み合わせをすべてグラフ化できます(たとえば、歯を磨くのに3、4、5分)。このチャートには、27の可能性がすべて示されています。時間は右に増加し、N分ごとのタスクは(N-1)ダッシュと1つの垂直バーで表され、終了を示すだけです。文字間に微小な境界が生じるため、8
との間のスペース9
はに8 min 59 sec
変わり9 min
ます。
1111111111222222222233333333334
1234567890123456789012345678901234567890 <-- Minute
-------|--------------|-|--|-----|
-------|--------------|-|--|------|
-------|--------------|-|--|-------|
-------|--------------|-|---|-----|
-------|--------------|-|---|------|
-------|--------------|-|---|-------|
-------|--------------|-|----|-----|
-------|--------------|-|----|------|
-------|--------------|-|----|-------|
-------|---------------|-|--|-----|
-------|---------------|-|--|------|
-------|---------------|-|--|-------|
-------|---------------|-|---|-----|
-------|---------------|-|---|------|
-------|---------------|-|---|-------|
-------|---------------|-|----|-----|
-------|---------------|-|----|------|
-------|---------------|-|----|-------|
-------|----------------|-|--|-----|
-------|----------------|-|--|------|
-------|----------------|-|--|-------|
-------|----------------|-|---|-----|
-------|----------------|-|---|------|
-------|----------------|-|---|-------|
-------|----------------|-|----|-----|
-------|----------------|-|----|------|
-------|----------------|-|----|-------|
1234567891111111111222222222233333333334 <-- Minute
0123456789012345678901234567890
ルーチンが最大で40分、少なくとも34分かかった可能性があることは明らかです。
問題は、特定の瞬間、たとえば29分に、5つのタスクのそれぞれを行っていた可能性はどれくらいかということです。不確実な各時間枠は、正確な分全体に均一に分布していると仮定します。したがって、4〜7のタスクでは、25%の確率で4、5、6、または7分間かかります。
チャートから、29分で...
0/27 chance you were snoozing (task 1)
0/27 chance you were showering (task 2)
0/27 chance you were brushing (task 3)
24/27 chance you were dressing (task 4)
3/27 chance you were eating (task 5)
同様に、1分目に 27/27
0/27
他の場所で居眠りをして可能性。
たとえば、38分で、17の潜在的なルーチンがすでに終了しています。したがって、10ケース中10ケースで食べることになります。これは、確率が次のように見えることを意味します
0/10 task 1, 0/10 task 2, 0/10 task 3, 0/10 task 4, 10/10 task 5
チャレンジ
分の値に整数を使用する関数と、単一の整数のシーケンス、または>のa-b
付いた整数のペアで構成される文字列をすべて記述します。b
a
8 15-17 2 3-5 6-8
)。すべての整数は正です。入力分は、可能な最大時間(例では40)以下です。
この関数は、指定された分に各タスクに存在する可能性のある縮小されていない確率を示す別の文字列を返す必要があります。
例
myfunc(29, "8 15-17 2 3-5 6-8")
文字列を返します0/27 0/27 0/27 24/27 3/27
myfunc(1, "8 15-17 2 3-5 6-8")
文字列を返します27/27 0/27 0/27 0/27 0/27
myfunc(38, "8 15-17 2 3-5 6-8")
文字列を返します0/10 0/10 0/10 0/10 10/10
myfunc(40, "8 15-17 2 3-5 6-8")
文字列を返します0/1 0/1 0/1 0/1 1/1
言語に文字列や関数がない場合は、名前付き変数、stdin / stdout、コマンドライン、または最も適切と思われるものを使用できます。
得点
|
、right |
、またはhalfが含まれていますか?