Smallest Zeroless Base Given a positive integer n, output the smallest base b &gt;= 2 where the representation of n in base b with no leading zeroes does not contain a 0. You may assume that b &lt;= 256 for all inputs.
Test Cases
1 -&gt; 2 (1)
2 -&gt; 3 (2)
3 -&gt; 2 (11)
4 -&gt; 3 (11)
5 -&gt; 3 (12)
6 -&gt; 4 (12)
7 -&gt; 2 (111)
10 -&gt; 4 (22)
17 -&gt; 3 (122)
20 -&gt; 6 (32)
50 -&gt; 3 (1212)
100 -&gt; 6 (244)
777 -&gt; 6 (3333)
999 -&gt; 4 (33213)
1000 -&gt; 6 (4344)
1179360 -&gt; 23 ([12, 9, 21, 4, 4])
232792560 -&gt; 23 ([15, 12, 2, 20, 3, 13, 1])
2329089562800 -&gt; 31 ([20, 3, 18, 2, 24, 9, 20, 22, 2])
69720375229712477164533808935312303556800 -&gt; 101 ([37, 17, 10, 60, 39, 32, 21, 87, 80, 71, 82, 14, 68, 99, 95, 4, 53, 44, 10, 72, 5])
8337245403447921335829504375888192675135162254454825924977726845769444687965016467695833282339504042669808000 -&gt; 256 ([128, 153, 236, 224, 97, 21, 177, 119, 159, 45, 133, 161, 113, 172, 138, 130, 229, 183, 58, 35, 99, 184, 186, 197, 207, 20, 183, 191, 181, 250, 130, 153, 230, 61, 136, 142, 35, 54, 199, 213, 170, 214, 139, 202, 140, 3])
Pyth, 6 bytes
f*FjQT

Verify all the test cases.
How it works

f*FjQT  ~ Full program.

f       ~ First positive integer where the condition is truthy.
   jQT  ~ The input converted to base of the current element.
 *F     ~ Product. If the list contains 0, then it's 0, else it is strictly positive.
          0 -> Falsy; > 0 -> Truthy.
        ~ Output the result implicitly.

Although Pyth's f operates on 1, 2, 3, 4, ... (starting at 1), Pyth treats numbers in base 1 (unary) as a bunch of zeros, so base 1 is ignored.