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, 1, 5, (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).

Some Solutions to the Problem:

0 = 2 * 0 * 1 * 5
1 = 2 * 0 + 1^5   or   2*0+1^5   or   (2^0)(1^5)
2 = -2 + 0 - 1 + 5   or   2+0*1*5
3 = -2 + 0 * 1 + 5
4 = 2 * 0 - 1 + 5   or   (20)/(1*5)   or   2 + 0! + 1^5
5 = 2 * 0 + 1 * 5   or   20 - 15   or   ((2^0)-1)+5   or   2*0*1+5

6 = 2 + 0 - 1 + 5   or   2*0+1+5
7 = 2 + 0 + 1 * 5   or   2+0*1+5
8 = 2 * 0 + 1 + 5   or   2+0+1+5
9 = 2 + 0! + 1 + 5   or   2^(0!+1)+5
10 = (2 + 0 * 1) * 5   or   2*(0*1+5)   or   ((2^0)+1)*5   or   2*0!*1*5

11 = (2 + 0!)! + (1 * 5)   or   (2+0+1)!+5
12 = (2 + 0) * (1 + 5)   or   2*(0+1+5)   or   2*0!*(1+5)
13 = -2 + 0 + 15   or   2+0+sqrt(1+5!)   or   int(sqrt(201))-int(sqrt(sqrt(5)))
14 = 20 - 1 - 5   or   2*(0!+1+5)   or   -2+0!+15
15 = 20 * 1 - 5   or   20-1*5   or   (2+0+1)*5   or   (2*0!+1)*5

16 = 20 + 1 - 5   or   2^(0-1+5)   or   2-0!+15
17 = 2 + 0 + 15   or   2*0!+15   or   int(sqrt(20*15))
18 = 2 + 0! + 15   or   (2+0!)*(1+5)
19 = 20 - (1^5)   or   (2+0!+1)!-5   or   20-1^5
20 = 20 * (1^5)   or   (2+0!+1)*5

21 = 20 + (1^5)   or   (2 + 0!)! + 15   or   -2 - (0!) + (-1 + 5)!
22 = -2 + 0 + (-1 + 5)!   or   (2+0!+1)!-int(sqrt(5))
23 = -(2^0) + (-1 + 5)!   or   int(20*sqrt(sqrt(sqrt(sqrt(15)))))
24 = (2 * 0 - 1 + 5)!   or   20-1+5
25 = 20 * 1 + 5   or   2^0 + (-1 + 5)!   or   20+1*5

26 = 2 + 0 + (-1 + 5)!   or   20 + 1 + 5
27 = 2 + 0! + (-1 + 5)!   or   int(sqrt(sqrt(sqrt(sqrt(20!))))*sqrt(sqrt(15)))
28 = [sqrt(20] + (-1 + 5)!   or   int(sqrt(201))*int(sqrt(5))
29 = (2 + 0! + 1)! + 5
30 = (2 + 0) * 15   or   (2 + 0!)! + (-1 + 5)!   or   (2 + 0!)! * 1 * 5

31 = int(sqrt(201*5))
32 = 2^(0 + 1 * 5)   or   (2+0*1)^5
33 = int(int(sqrt(20))!*sqrt(sqrt(sqrt(15))))
34 = [sqrt(20)]! + [sqrt(1 x 5)!)]
35 = 20 + 15

36 = (2 +0!)! * (1 + 5)
37 = int(sqrt(sqrt(sqrt(sqrt((20+1*5)!)))))
38 = (20 - 1) x [sqrt(5)]
39 = [sqrt(20)]! + 15
40 = [201 / 5]   or   20 * (1 * [sqrt(5)]
41 = int(sqrt(sqrt(sqrt(sqrt( [sqrt(((2 + 0!)!)!)]!))))) - (1 x 5)   or  
42 = (20 + 1) * [sqrt(5)]
43 = int(sqrt(sqrt((2*(0*1+5))!)))
44 = [sqrt(2015)]   or   20 + (-1 + 5)!
45 = (2 + 0!) * 15
46 = int(sqrt(sqrt(sqrt(sqrt((20+1+5)!)))))
47 = int(sqrt(sqrt(sqrt(20*15!))))
48 = (2 + 0) * ((-1+ 5)!)
49 = int(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(2^((0+1+5)!)))))))))
50 = int(sqrt(sqrt(sqrt(sqrt(sqrt(int(sqrt(2015))!))))))

James Alarie receives extra credit for solving 1 through 33 consecutively and most of the others up to 50.


Correctly solved by:

1. James Alarie Flint, Michigan
2. Brooks Garris Lake View High School,
Lake View, South Carolina
3. Rick Emmers Heiloo, Netherlands