Ancora archeologia

Olimpiadi di Matematica – Fase nazionale a squadre

Grazie anche al vostro aiuto il sistema di numerazione della civiltà Qwghlm è stato finalmente decifrato.
Ora potete apprezzare un altro problema trovato da alcuni valenti archeologi e tradotto nel nostro sistema decimale.

“Quali sono le ultime quattro cifre del coefficiente più grande in valore assoluto del polinomio (x-1)(x-2)(x-4)(x-8)(x-16)(x-32)(x-64)?”


Vedi la discussione

Soluzione senza moduli aggiuntivi?

import sympy as sp
 
x = sp.symbols('x')
p = (x-1)*(x-2)*(x-4)*(x-8)*(x-16)*(x-32)*(x-64)
p = sp.expand(p)                                 
 
# x**7 - 127*x**6 + 5334*x**5 - 94488*x**4 + 755904*x**3 - 2731008*x**2 + 4161536*x - 2097152
 
n    = sp.degree(p)                                 # 7
cmax = max([abs(p.coeff(x, g)) for g in range(n)])
print(cmax)                                         # 4161536
print(cmax % 10000)                                 # 1536