Before I retired, I would give my students the following challenge:
Write expressions for all the numbers from 1 to 100 using only the digits in the current year in order and using the operations +, -, x, ÷ (or / for divided by), ^ (raised to a power), sqrt (square root), ! (factorial), and int (or [] for greatest integer function), along with grouping symbols.

So, the first problem of the new year is to use only the digits 2, 0, 2, 1, (and in that order) along with the operations listed above to write expressions for all the numbers from 0 to 21.

Extra credit for those who can go past 21 (consecutively).

Click here for a worksheet

Click here for solutions to previous years

Some Solutions to the Problem:

0 = 2 * 0 * 21       or       2^0 - 2 + 1
1 = -20 + 21
2 = 2 + 0 * 21
3 = 2 * 0 + 2 + 1       or       2 + 0 + 2 - 1
4 = 2 + 0 + 2 * 1
5 = 2 + 0 + 2 + 1       or       [sqrt(20)] + 2 - 1
6 = (2 + 0) * (2 + 1)       or       2 + (0)! + 2 + 1       or       [sqrt(20)] + 2 * 1       or       [sqrt(20)] + 2 + 1
7 = (2 + (0)!) * 2 + 1       or       (2 + 0!)! + 2 - 1
8 = (2 + (0)!)! + 2 * 1       or       [sqrt(20)] + [sqrt(21)]
9 = 20 / 2 - 1       or       [sqrt(20)] * 2 + 1       or       (2 + (0)!)! + 2 + 1
10 = 20 / 2 * 1
11 = 20 / 2 + 1
12 = (2 + (0)!)! + (2 + 1)!       or       (2 + 0!)! * 2 * 1       or       [sqrt(20)] * (2 + 1)
13 = (2 + (0)!)! * 2 + 1       or       [sqrt(202)] - 1
14 = 20 - (2 + 1)!       or       int(sqrt(202)) + 0
15 = int(sqrt(sqrt(sqrt(sqrt(((20)!))))) + 2 - 1)       or       [(sqrt(202))] + 1
16 = int(sqrt(sqrt(sqrt(sqrt(((20)!))))) + 2 * 1)       or       2 ^ (0! + 2 + 1)       or       [sqrt(20)] * [sqrt(21)]
17 = 20 - 2 - 1
18 = 20 - 2 * 1
19 = 20 - 2 + 1
20 = 20 * (2 - 1)
21 = 20 + 2 - 1
22 = 20 + 2 * 1
23 = 20 + 2 + 1
24 = (2 + 0 + 2 * 1)!       or       [sqrt(20)]! * (2 - 1)
25 = ( 2 + 0 + 2)! + 1       or       int(sqrt((2 + 0!)!!)) - 2 + 1       or       [sqrt(20)]! + 2 - 1
26 = 20 + (2 + 1)!       or       [sqrt(20)]! + 2 * 1
27 = (2 * 0)! + int(sqrt(((2 + 1)!)!))       or       (2 + 0!) ^ (2 + 1)       or       [sqrt(20)]! + 2 + 1
28 = 2 + 0 + int(sqrt(((2 + 1)!)!))
29 = 2 + (0)! + int(sqrt(((2 + 1)!)!))
30 = int(sqrt(20)) + int(sqrt(((2 + 1)!)!))
31 = int(sqrt(((2 + 0!)!)!)) + int(sqrt(int(sqrt(((2 + 1)!)!))))
32 = int(sqrt(((2 + 0!)!)!)) + (2 + 1)!
33 =
34 = int(((2 = 0!)!)! / 21)

36 = (2 + 0!)! * (2 + 1)!

39 = 20 * 2 - 1
40 = 20 * 2 * 1
41 = 20 * 2 + 1       or       20 + 21

44 = int(sqrt(2021))
46 = 20 + int(sqrt(((2 + 1)!)!))
52 = (2 + 0) * int(sqrt(int(sqrt(((2 + 1)!)!))))
53 = int((2 + 0) * sqrt(int(sqrt(((2 + 1)!)!))))
60 = 20 * (2 + 1)
93 = int(sqrt(20) * 21)


Correctly solved by:

1. Colin (Yowie) Bowey ** (27 consecutive) Beechworth, Victoria, Australia
2. Veena Mg ** (29 consecutive) Bangalore, Karnataka, India
3. Ivy Joseph ** (26 consecutive) Pune, Maharashtra, India
4. Brijesh Dave Mumbai City, Maharashtra, India
5. Haley Smith ** (23 consecutive) Redlands Middle School
Grand Junction, Colorado
6. Katherine Grossman ** (26 consecutive) Redlands Middle School
Grand Junction, Colorado
7. Reagan Geer ** (24 consecutive) Redlands Middle School
Grand Junction, Colorado

      ** Extra Credit