(0!+0!)*(0!+0!+(0!+(0!+0!+0!)^(0!+0!))^(0!+0!+0!)) = 2004 Boris Alexeev (0!+0!+0!+0!)*(0!+(0!+0!+0!+0!)*(0!+0!+0!+0!+0!)^(0!+0!+0!)) = 2004 Juha Saukkola (1111-111+1+1)*(1+1) == 2004; (*Matt Jones, Juha Saukkola*) (1+1)^11-11*(1+1)^(1+1) == 2004; (*Philippe Fondanaiche*) (1+1)*(1+1+(11-1)^(1+1+1)) == 2004; (*Boris Alexeev*) sqrt(2^22)-2*22 == 2004; (*Boris Alexeev, Aad van de Wetering*) ceil(((2*2)!^sqrt(2)/2)^2) == 2004; (*Boris Alexeev*) 2^(22/2)-2*22 == 2004; (*Erich Friedman*) 333*3!+3! == 2004; (*Boris Alexeev*) 3+floor(3!^sqrt(3* 3!)) == 2004; (*Boris Alexeev*) (333+3/3)*(3+3) == 2004; (*Erich Friedman*) (3!^3-3)*3!+3!!+3! == 2004; (*Aad van de Wetering*) sqrt(sqrt(4^4!))/sqrt4-44 == 2004; (*Boris Alexeev*) ceil(4!^sqrt(4+4)/4) == 2004; (*Boris Alexeev*) (4+4)*4^4-44 == 2004; (*Philippe Fondanaiche, Gaurav Singhal*) ((4^4)*4-4!+sqrt4)*sqrt4 == 2004; (*Aad van de Wetering*) 5+5!/5+5*(5*55+5!) == 2004; (*Boris Alexeev*) ceil(sqrt(sqrt5^5)*floor(5!*sqrt5)) == 2004; (*Boris Alexeev*) 5*5*5*(5+5+5+(5/5))+5-(5/5)== 2004; (*Matt Jones*) 6*6*6*6+6!-6-6 == 2004; (*Boris Alexeev*) ceil((6-sqrt6)^6) == 2004; (*Boris Alexeev*) ((6+6+6)/6)*666+6 == 2004; (*Erich Friedman*) 6!+(sqrt(6^6))*6-6-6 == 2004; (*Aad van de Wetering*) 7+77+(7!+7!*7)/(7+7+7) == 2004; (*Boris Alexeev*) floor(sqrt7+sqrt(sqrt77^7)) == 2004; (*Boris Alexeev*) ((7*7-7)*7-7)*7-7+(7+7)/7 == 2004; (*Philippe Fondanaiche*) 7*7*7*7-7*7*7-7*7-7+(7+7)/7 == 2004; (*Juha Saukkola*) (8!-8*8)/(8+8)-8*8*8 == 2004; (*Boris Alexeev*) sqrt(8+8)*(sqrt(8^8)-88)/8 == 2004; (*Boris Alexeev*) (8*8*8*8-88)*8/(8+8) == 2004; (*Philippe Fondanaiche*) (sqrt(8^8)-88)/(sqrtsqrt(8+8)) == 2004; (*Aad van de Wetering*) (999+(9+9+9)/9)*(9+9)/9 == 2004; (*Philippe Fondanaiche*) 9!/(9*9+99)-sqrt9-9 == 2004; (*Boris Alexeev*) ceil(9^sqrt(9+sqrt9))-9-9 == 2004; (*Boris Alexeev*) (99*(9+9))+((999/9)*((99/9)-9)) == 2004; (*Matt Jones*) 999+999+9-(9+9+9)/9 == 2004; (*Juha Saukkola*) 999+999+9-sqrt9 == 2004; (*Juha Saukkola*) 999*((9+9)/9)+((9+9)*9/(9+9+9)) == 2004; (*Sudeepth Jeevan*) (((sqrt9)!^sqrt9)+(sqrt9)!)*9)+(sqrt9)! == 2004; (*Aad van de Wetering*) > I'm slightly concerned about the precision of my calculations I've done some confirmation with bc (on SunOS), and found a couple of typos. Here are the corrected expressions (using fac(x) for x!, to make the transcription less error-prone): 0 [3]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(floor(sqr(fac(fac(0! + 0! + 0!))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 1 [2]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(fac(11)))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2 [2]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(fac(fac(2 + 2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 3 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(floor(sqr(fac(fac(3))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(fac(fac(4)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 5 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(fac(5))))))))))))))))))))))))))))))))))))))) 6 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(floor(sqr(fac(6)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 7 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(fac(7)))))))))))))))))))))))))))))))))))))))) 8 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(fac(8)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 9 [1]: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(ceil(sqr(sqr(fac(ceil(sqr(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(sqr(sqr(fac(floor(sqr(sqr(fac(9))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) These are all based on the following expressions: 2004 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(2308))))))))))))) 2308 = floor(sqr(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(397)))))))))) 397 = ceil(sqr(sqr(sqr(sqr(fac(36)))))) 120 = fac(5) 80 = ceil(sqr(sqr(fac(11)))) 72 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(fac(80)))))))) 72 = ceil(sqr(sqr(sqr(sqr(sqr(fac(47))))))) 70 = floor(sqr(fac(7))) 47 = ceil(sqr(sqr(sqr(sqr(fac(26)))))) 41 = floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(72)))))))) 36 = ceil(sqr(sqr(sqr(sqr(sqr(sqr(sqr(fac(120))))))))) 36 = floor(sqr(sqr(sqr(sqr(sqr(sqr(fac(70)))))))) 36 = ceil(sqr(sqr(sqr(sqr(sqr(fac(41))))))) 30 = floor(sqr(sqr(sqr(sqr(fac(24)))))) 26 = floor(sqr(fac(6))) 24 = floor(sqr(sqr(fac(9)))) 24 = ceil(sqr(sqr(sqr(fac(8))))) 24 = fac(4) 11 = ceil(sqr(sqr(sqr(sqr(sqr(fac(30))))))) 6 = fac(3) They're chained together as follows: [0! + 0! + 0! = 3 -> 6 -> 26 -> 47 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [11 -> 80 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [2 + 2 = 4 -> 24 -> 30 -> 11 -> 80 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [3 -> 6 -> 26 -> 47 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [4 -> 24 -> 30 -> 11 -> 80 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [5 -> 120 -> 36 -> 397 -> 2308 -> 2004] [6 -> 26 -> 47 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [7 -> 70 -> 36 -> 397 -> 2308 -> 2004] [8 -> 24 -> 30 -> 11 -> 80 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] [9 -> 24 -> 30 -> 11 -> 80 -> 72 -> 41 -> 36 -> 397 -> 2308 -> 2004] Shorter chains are probably possible, but I tried to avoid enormous integers. -- Roger Phillips Ed, this is in response to your challenge due to Erich Friedman: I have not completely tried everything that I want to, but I'm busy right now and don't have the time to finish. If I do, I intend to post it at http://www.mit.edu/~borisa/2004.txt Justification for using ! and sqrt (and floors and ceil): All of these functions, when written in standard mathematical notation, do not contain any characters from the Roman alphabet. In addition, the question asked "what are your best efforts for 0-9", and I have no clue how to do 0 without a ! (factorial). I suppose one could use 0^0 = 1, but that's in really hazy territory and requires double the number of 0s. Best results I could obtain: 13 with 0s (9 using a modification of 6's ceil expression+) 10 with 1s (9 using a modification of 6's ceil expression+) 6 with 2s (5 using ceil) 5 with 3s (4 using floor) 5 with 4s (4 using ceil) 8 with 5s (4 using floor _and_ ceil) 7 with 6s (3 using ceil) 9* with 7s (4 using floor) 7 with 8s 7 with 9s (5 using floor) * I have a hunch this can be improved sans floors and ceils. + Both minimally, interestingly. Expressions: 2004 = (0!+0!) * ( 0!+0! + ( 0! +(0!+0!+0!)^(0!+0!) )^(0!+0!+0!) ), that is 2 * ( 2 + ( 1 + 3 ^ 2 )^ 3 ), or also substitute the 10 = 1 + 3^2 in the above expression with sqrt( 0! + ( (0!+0!+0!)! - 0! )! ) - 0!, that is the sqrt(121) - 1, where 121 = 1 + 5! and 5 = 3! - 1. Wow! 2004 = (1+1) * (1 + 1 + (11-1)^(1+1+1) ) 2004 = sqrt(2^22) - 2 * 22 2004 = ceil( ((2 * 2)!^sqrt2 / 2)^2 ) 2004 = 333 * 3! + 3! 2004 = 3 + floor( 3!^sqrt(3 * 3!) ) 2004 = sqrt( sqrt( 4^4! ) ) / sqrt 4 - 44 2004 = ceil( 4!^sqrt(4 + 4) / 4 ) 2004 = 5 + 5! / 5 + 5*( 5*55 + 5! ) 2004 = ceil( sqrt(sqrt 5^5) * floor(5! * sqrt5) ) 2004 = 6*6*6*6 + 6! - 6 - 6 2004 = ceil( (6 - sqrt6)^6 ) 2004 = 7 + 77 + (7! + 7! * 7) / (7 + 7 + 7) 2004 = floor(sqrt7 + sqrt(sqrt 77^7)) // 2004 = (8! - 8*8)/(8+8) - 8*8*8 // (suboptimal but interesting) 2004 = sqrt(8+8) * (sqrt(8^8) - 88)/8 2004 = 9!/(9*9+99) - sqrt 9 - 9 2004 = ceil( 9^sqrt(9+sqrt9) ) - 9 - 9 Yes, if it somehow isn't obvious, I used a computer. If that's `cheating' (heh), I can be quiet. :-P - Boris Alexeev. 34: (0^0+0^0+0^0+0^0)*(0^0 + (0^0+0^0+0^0+0^0)*(0^0+0^0+0^0+0^0+0^0)^(0^0+0^0+0^0)) 11: (1111-111+1+1)*(1+1) 13: 7*7*7*7 - 7*7*7 - 7*7 - 7 + (7+7)/7 11: 999 + 999 + 9 - (9+9+9)/9 if sqrt allowed (I think no): 999+999+9-V9 It's quite nice to notice that with 0's (most interesting case): 42: (17*10 - 3)*6 38: 6 * (1 + (1+6^2)*9) 36: 5^3 * 4^2 + 4 34: (5^3 * 4 + 1) * 4 Maybe there is new idea for integer sequence: Zeros needed for composing integers: 1 = 0^0 (2) 2 = 0^0 + 0^0 (4) … 6 = 2*3 (10) 7 = 2*3+1 (12) 8 = 2^3 (10) 9 = 3^2 (10) … 13 = 2*6 + 1 (16) … Juha