Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Challenges

Comments on Expected value of highest dice rolled

Parent

Expected value of highest dice rolled

+2
−0

You roll $N$ six-sided dice simultaneously. Your score is the highest number rolled. If you play this game many times, what is the expected value (mean) of your score?

Input

  • A positive integer $N$.
  • Your code must work for inputs up to and including 10, but may crash, error, or give incorrect output for larger inputs.

Output

  • The expected value (the mean value) of the highest individual dice result when $N$ six-sided dice (with face values 1, 2, 3, 4, 5, 6) are rolled simultaneously.
  • For inputs up to and including 10, your output is valid if rounding it to 6 decimal places results in the output shown in the test cases.

Note that this means that if you find an incorrect algorithm that happens to give the correct result when rounded to 6 decimal places for inputs from 1 to 10, that is still a valid entry.

Test cases

Test cases are in the format input : output.

1 : 3.500000
2 : 4.472222
3 : 4.958333
4 : 5.244599
5 : 5.430941
6 : 5.560292
7 : 5.654117
8 : 5.724354
9 : 5.778177
10 : 5.820159

Scoring

This is a code golf challenge. Your score is the number of bytes in your code.

Explanations are optional, but I'm more likely to upvote answers that have one.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

Number of faces on a die (4 comments)
Post
+1
−0

Dyalog APL, 16 bytes

{(+/÷≢)⌈/¨,⍳⍵/6}

Explanation:

  • ,⍳⍵/6 generate a list of all the possible sets of rolls
  • ⌈/¨ find the maximum of each
  • +/÷≢ find the average (sum up all values and divide by the length of the list)

this is incredibly slow and expensive memory-wise (computing 9 and 10 required increasing the default workspace memory size from .5GB to 2GB), but hey it works :)

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

I'm glad I set the maximum required input to 10... (3 comments)
I'm glad I set the maximum required input to 10...
trichoplax‭ wrote over 1 year ago

I was wondering if someone would take the brute force approach. I didn't want to rule it out so I set the maximum required input low. Even with the closed form solution that I used to generate the test cases, I couldn't go much higher without switching to arbitrary precision numbers.

RubenVerg‭ wrote over 1 year ago

I was trying to come up with a closed form solution, but realized it would almost definitely be longer than just generating all the cases, which is quite short in APL. I suppose I'll try to get a closed form anyways and see if I was right

RubenVerg‭ wrote over 1 year ago

I think this has also a hard limit after n = 17 (if I remember correctly), because an intermediate step is generating a n-dimensional array and 17 is the maximum rank allowed in dyalog