A general way to solve this kind of problem is with counting polynomials.
$$\frac{17}{20} + \frac{3}{20} * x$$
this polynomial represents rolling 1d20 and having a 3/20 chance of getting a crit. The crit chance is the coefficient to the x^1 term.
For 3d20 it looks like:
$$(\frac{17}{20} + \frac{3}{20} * x)^3$$
que é
$$(\frac{17}{20})^3 + 3(\frac{17}{20})^2\frac{3}{20} * x + 3 \frac{17}{20}(\frac{3}{20})^2 x^2 + (\frac{3}{20})^3x^3$$
where the $x^1$ through $x^3$ represent the 1 through 3 of the dice landing on 18 19 or 20.
We could add up the coefficients of the $x^1$ through $x^3$ cases, but we also know that the coefficients off all 4 terms add up to 1 -- so we can just take the $x^0$ coefficient and subtract 1.
$$1-(\frac{17}{20})^3$$
or
$$\frac{8000-4913}{8000}$$
aka about $$38.6\%$$
Now this is a bit complicated; but we can use it to analyze more complicated cases.
Imagine a rule that states that crits from elven accuracy deal an extra 50 damage, but only if you had already critted. We can distinguish the elven accuracy crit from the others:
$$(\frac{17}{20} + \frac{3}{20} * x)^2 ( \frac{17}{20} + \frac{3}{20} * y
)$$
by using a different variable (y instead of x).
We can then expand
$$(\frac{17}{20})^2 + 2\frac{3*17}{20^2}x + (\frac{3}{20} * x)^2 (\frac{17}{20} + \frac{3}{20} * y
)$$
or
$$\frac{17^3}{20^3} + \frac{3*17^2}{20^3}y + 2\frac{3*17^2}{20^3}x + 2\frac{3^2*17}{20^3}xy + \frac{3^2*17}{20^3} x^2 + \frac{3^3}{20^3} x^2y$$
then isolate the cases that have both an x and a y, from those with only xs or only a y.
For the most part, this technique really gets useful when you can feed the polynomials to a program that can do the number crunching for you.