Claudio Buffara wrote:

1. Expressar o numero 19 usando uma unica vez cada um dos numeros 1, 2 e 3 e mais as operacoes matematicas usuais (+, -, *, /, raizes, fatoriais, etc.). Nao vale usar ponto decimal nem a funcao maior inteiro. (essa eh pro Qwert!)

Isso me lembra a vez que tentei resolver de maneira genérica não apenas o problema dos quatro quatros, mas também dos cinco cincos e todos os correlatos. Fiz um programinha que associava um custo a cada função, e então fiz a busca exaustiva. Para os custos dados, a tabela abaixo tem o jeito mais simples de resolver cada número:

#define P_PLUS 1
#define P_MINUS 3
#define P_TIMES 10
#define P_DIV 30
#define P_FATORIAL 100
#define P_POT 250
#define P_SQRT 500
#define P_BINOMIAL 750
#define P_FALLING 3000
#define P_RISING 3000
#define P_FLOOR 10000

----------------------------------------------------------------
Ricardo Bittencourt                   http://www.mundobizarro.tk
[EMAIL PROTECTED]  "kimitatino kitiwa subete CATS ga itadaita"
------ União contra o forward - crie suas proprias piadas ------

  0 = (44-44)
  1 = (44/44)
  2 = (4-((4+4)/4))
  3 = ((4+(4+4))/4)
  4 = (4+(4*(4-4)))
  5 = ((4+(4*4))/4)
  6 = (4+((4+4)/4))
  7 = ((44/4)-4)
  8 = ((4+4)+(4-4))
  9 = ((4+4)+(4/4))
 10 = ((44-4)/4)
 11 = (4+((4+4!)/4))
 12 = ((4+44)/4)
 13 = (4!-(44/4))
 14 = (4+(4+(4!/4)))
 15 = (4+(44/4))
 16 = ((4+4)+(4+4))
 17 = ((4*4)+(4/4))
 18 = (4!-((4-(4/4)))!)
 19 = (4!-(4+(4/4)))
 20 = (4*(4+(4/4)))
 21 = ((4/4)+(4!-4))
 22 = (4!-((4+4)/4))
 23 = (((4*4!)-4)/4)
 24 = ((4+4)+(4*4))
 25 = ((4+(4*4!))/4)
 26 = (4!+((4+4)/4))
 27 = (4+(4!-(4/4)))
 28 = (44-(4*4))
 29 = (4+(4!+(4/4)))
 30 = (((4+(4/4)))!/4)
 31 = (4!+((4+4!)/4))
 32 = ((4*4)+(4*4))
 33 = (binomial((4!/sqrt(4)),sqrt(4))/sqrt(4))
 34 = (4!+(4+(4!/4)))
 35 = (4!+(44/4))
 36 = (44-(4+4))
 37 = (4!+((4!+sqrt(4))/sqrt(4)))
 38 = (44-(4!/4))
 39 = (4!+binomial((4!/4),4))
 40 = ((4*(4*4))-4!)
 41 = floor((44-sqrt((4+4))))
 42 = (4!+(4!-(4!/4)))
 43 = (44-(4/4))
 44 = ((4-4)+44)
 45 = ((4/4)+44)
 46 = (4+(44-sqrt(4)))
 47 = (4!+(4!-(4/4)))
 48 = (4*(4+(4+4)))
 49 = (4!+(4!+(4/4)))
 50 = (44+(4!/4))
 51 = ceil((44+sqrt(44)))
 52 = ((4+4)+44)
 53 = floor(((4+4)*sqrt(44)))
 54 = ((4!/4)+(4!+4!))
 55 = binomial((44/4),sqrt(4))
 56 = (4!+(4*(4+4)))
 57 = ceil((sqrt((4+4))*(4!-4)))
 58 = (((4^4)-4!)/4)
 59 = (4!+(rising(4,4)/4!))
 60 = ((4*4)+44)
 61 = ((sqrt(4)+rising(sqrt(4),4))/sqrt(4))
 62 = ((4*(4*4))-sqrt(4))
 63 = (((4^4)-4)/4)
 64 = ((4+4)*(4+4))
 65 = ((4+(4^4))/4)
 66 = (sqrt(4)+(4*(4*4)))
 67 = ((4*4!)-ceil((4!+sqrt(4!))))
 68 = (4+(4*(4*4)))
 69 = ceil((sqrt(4!)+(4*(4*4))))
 70 = ((4!+(4^4))/4)
 71 = ceil((((4*4!)-4!)-sqrt(sqrt(4))))
 72 = (4+(4!+44))
 73 = ceil((sqrt(4!)+(4!+44)))
 74 = (((4*4!)-4!)+sqrt(4))
 75 = ((4*(4!-4))-ceil(sqrt(4!)))
 76 = ((4*(4!-4))-4)
 77 = ceil((((4*4!)-4!)+sqrt(4!)))
 78 = ((4*(4!-4))-sqrt(4))
 79 = floor((sqrt((4+4))*(4+4!)))
 80 = (4*(4+(4*4)))
 81 = ((4-(4/4))^4)
 82 = (sqrt(4)+(4*(4!-4)))
 83 = floor(((sqrt(4)*44)-sqrt(4!)))
 84 = (4+(4*(4!-4)))
 85 = (ceil(sqrt(4!))+(4*(4!-4)))
 86 = ((sqrt(4)*44)-sqrt(4))
 87 = (((4*4!)-4)-ceil(sqrt(4!)))
 88 = (44+44)
 89 = floor(((4*4!)-sqrt(44)))
 90 = ((4*4!)-(4!/4))
 91 = binomial(((4*4)-sqrt(4)),sqrt(4))
 92 = (4*(4!-(4/4)))
 93 = floor(((4*4!)-sqrt((4+4))))
 94 = (sqrt(4)+((4*4!)-4))
 95 = ((4*4!)-(4/4))
 96 = (4*(4!+(4-4)))
 97 = ((4/4)+(4*4!))
 98 = ((4*4!)+(4-sqrt(4)))
 99 = ceil((sqrt((4+4))+(4*4!)))
100 = (4*(4!+(4/4)))
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================

Responder a