어느 날 아침 알람이 울린다 고하더라도 다시 알림을 누르면 8 분 더 잠을 잘 수 있습니다. 다시 울리면 격렬하게 일어나 샤워를하는데 15 분에서 17 분 정도 걸립니다. 그런 다음 정확히 2 분 동안 양치질을하고 옷을 입는데 약 3 ~ 5 분이 걸립니다. 마지막으로 6 ~ 8 분 안에 서둘러 아침 식사를하고 문을 벗어납니다.
이 타이밍 시퀀스를로 표시 할 수 있습니다 8 15-17 2 3-5 6-8
.
아침 일과의 불확실성을 감안할 때, 처음 일어 났을 때 특정 시간 (분)마다 각 작업을 수행 할 확률은 얼마입니까?
모든 작업에 전체 시간이 걸린다고 가정하면 불확실한 시간 범위 (예 : 양치질의 경우 3, 4, 5 분)의 가능한 모든 조합을 차트로 표시 할 수 있습니다. 이 차트는 27 개의 가능성을 보여줍니다. 시간은 오른쪽으로 증가하고 N 분의 각 작업은 (N-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, 명령 줄 또는 가장 적절한 것으로 보이는 것을 사용할 수 있습니다.
채점
|
, 오른쪽 |
또는 절반이 포함됩니까?