Na entrada existe a expressão : C = D = A = B + A / 3.2 / A.
Sendo A = 2 e B = 5.1.
Penso que o cálculo seria: C = D = A = B + (A/(3.2/A)) . Isso dá 5.1 + (2/(3.2/2)) = 5.1+1.25 = 6.35
Pois a precedência é da direita para a esquerda para operadores iguais. O meu executável sempre usa essa regra e produz o resultado acima. Ele acerta 2 ^ 2 ^ 3 (calcula 2^(2^3) ) e a=b=c=5, por exemplo.
No entanto no executável do EP ele retorna 5.4125 ou seja, ele calcula 5.1 + (2/3.2)/2. Isso está correto? Então tenho que mudar as regras para tratar divisão e usar direita para esquerda para todo o resto?