Ho provato a risolvere il problema con vari tentativi tra i quali:
-
Tentare di precalcolare gli zeri del risultato (output non corretti)
-
Tentare di ‘snellire’ il numero in modo da farlo rientrare in un int64 (od opportunamente in un __int128) (output non corretti, molto probabilmente a causa del facile overflow)
-
Creare una struttura dati (nel mio caso un deque) in grado di contenere tutte le cifre del risultato, con conseguente implementazione di funzioni per moltiplicare e gestire i resti (va fuori tempo, ma suppongo che almeno gli output siano corretti e che magari la soluzione sia questa ed il problema sia solo di ottimizzazione)
Mi sono confrontato anche con la mia squadra, ma la situazione è bloccata.
Qualche aiuto?
Piccolo edit: attualmente sono riuscito a risolverlo, ma ho l’impressione di aver usato una soluzione un po’ greedy (togliendo gli zeri alla fine e alcune cifre all’inizio), consigli per migliorare la soluzione sono comunque bene accetti