Brian Smith came up with a solution using the basic arithmetic operations (+, , ÷, ×), exponentiation (a^b), factorial (x!), square root (√y), trigonometric functions (sin, cos, tan), and rounding (floor, ceil).
Here is the list, which is also featured on a webiste he created where you will be able to find any updates: http://www.geocities.com/brianscsmith/zeroto150in2003.html.
Most recently, DJ suggested some improved methods, which are shown on that site and reflected in this list.
Another more general solution was found by Federico Kereki.
Notes: 0!=1. floor x is x rounded down the the nearest integer; ceil x is x rounded up to the nearest integer. Trigonometric functions are calculated in radians. Digits may be concatenated to form other numbers (20, 003..). The listed methods use the fewest operations found to obtain each number. Grouping () is not counted as an operation.
0= 2×0×0×3
1= 20^(0×3)
2= 2+00×3
3= 20×0+3
4= 20^0+3
5= 2+00+3
6= (2+00)×3
7= 20^0+3!
8= 2+003!
9= (2+00!)×3
10= 20÷((0!)+3)
11= (2+0!)!0!+3!
12= (2+0!+0!)×3
13= (2+0!)!+0!+3!
14= 2×(00!+3!)
15= ((2+0!)!0!)×3
16= 2^(00!+3)
17= 2003
18= 20+0!3
19= 20(0×3)!
20= 20+0×3
21= 20+(0×3)!
22= 200!+3
23= 20+03
24= 20+0!+3
25= 200!+3!
26= 20+03!
27= 20+0!+3!
28= (floor √20)+(0!+3)!
29= (ceil √20)+(0!+3)!
30= (2+0!)!+(0!+3)!
31= ceil [2×(tan (0!+0!))÷sin 3]
32= 2^(0!+0!+3)
33= (2+0!)×floor [(tan (0!))÷(sin 3)]
34= 2+0!+ceil [(tan tan (0!))÷(√3)]
35= 2+floor [(tan tan (0!))÷((0!)+3)]
36= (2+0!)!×(0+3)!
37= ceil [cos 2+(tan tan (0!))÷((0!)+3)]
38= floor [√2+(tan tan (0!))÷((0!)+3)]
39= 2+floor [(tan tan (0!))÷((0!)+3)]
40= 20×((0!)+3)
41= 2+0+floor [(tan tan (0!))÷(√3)]
42= ((2+0!)!+0!)×3!
43= 2×0+floor [(tan tan (0!))÷(√3)]
44= 20+(0!+3)!
45= 2+floor [(tan tan (00!))÷(√3)]
46= 2×((0!)+(0!+3)!)
47= 2+ceil [(tan tan (0!))÷(tan (0!))]3
48= 2×(00!+3)!
49= floor [2×(tan tan (0!))÷03]
.
.
.
.
