How Gaming Got Its Dice (2013)
&gt; There is no intuitive way to extract percentile results from rolling a small number of d6s.<p>Here is an algorithm for rolling a single decimal digit using on average about 2.19 d6 rolls (which can be done in parallel if you have more than one d6):<p><pre><code>  function one_digit
    d = roll()
    while d == 6
      d = roll()
    if roll() &lt;= 3
        return d - 1
    else
        return d + 4
</code></pre>
Do this twice to get a percentile. This seems reasonably intuitive to me.